学习c++的问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 05:35:07
大一时候学的c语言,自我感觉学得还不错,后来又看了一下c++,都是谭浩强的书,现在在学习孙鑫老师的vc++深入详解,书看了快一半了,视频教程也跟着在看,可是发现个问题,照这样学下去的话,我估计我就只会编书上讲的那些单文档画图啊文本编辑之类的简单的windows程序,离搞软件开发的水平还差得远。我寒假买了本c++primer,前几天还去图书馆借了本讲windows编程的书,因为感觉需要学的东西太多了,现在一阵瞎忙。
我是电子专业的,没有开数据结构这门课,为了学好c++我是不是需要自学数据结构呢?我有一本清华严蔚敏老师的c语言版的和一个c++版的不知道看哪本?
本来还一直觉得自己编程方面有那么一点天赋,可是最近由于快到计算机等级考试了很多人都来问我一些程序题,笔试还可以,机试题很多以前会的题现在都要想好久,感觉很失败,是学完就忘了还是根本基础就很差?我想多学些算法方面的东西,可不知道怎么做,书上的习题都太简单,有没有那种专门讲各种算法,教你怎样用编程语言解决实际问题的书?
我现在的状态真的很糟糕,怀疑自己究竟有没有入门,不知道下面的路怎么走,继续学孙鑫的vc++?还是先把c++primer看完再说?又或者是先看windows编程在学vc?or静下来好好研究数据结构?or else..?
因为最近在做课设,有近一个月的空闲时间,想趁这个机会好好充充电。请好心的过来人指点迷津。

1.我的亲身经历是:学习编程的一定要学习“数据结构与算法”,不然找毕业工作容易被刷!我说的是大多数情况不是所有情况,而从自身发展角度看也是一样的,我们不会一辈子做coder(程序员),要走高就必须学数据结构和算法设计方面的。书不管是那个的,其实算法是思想,不是程序,是C语言的或是C++的不重要,重要的是你在学习的时候看得懂别人用**语言实现的算法思路。

2.建议继续学习“数据结构与算法”。你觉得你自己差了,其实不是这样,刚过来的人,我知道大学里面学的课程能学习到什么程度,大学时我们说我们会C、C++、java...编程,其实那时编写的多数都是编译器能通过,代码不足200行的小程序。但是这就足够了,通过这不到200行的小程序,我们牢牢地掌握了语言的语法和基本的使用,所以,在学校来说,牢牢地掌握了语言的语法和基本的使用就很不错了。

3.“离搞软件开发的水平还差得远。”这句话有一半是对的,你学的离搞软件开发的还差得远是对的,但是记住,不似乎水平!是时间,是投入度。跟你说,搞软件开发你的水平已经差不多了,但是你现在没有亲身经历一下开发的过程你还不知道。
举个例子:
做一个windows平台下能运行的具有图片、视频、音频文件浏览的多媒体播放器,这样一个项目一个公司在真正开发的时候30个人做1个月多时间。30个人做1个月多时间,有的人也是刚毕业的大学生,照样能拿下!
这才叫软件开发!它的特点是要你在很长时间内一直去做同一件事情,比如,写过是屏幕全屏的功能,文件解码功能可能干上1天、3天不定,这是现在的你没有办法做到的,不是水平问题,记住! 你可以试试给自己下达一个任务,你连续一段时间就开发它试试,我的经验告诉我,你肯定行,没问题!

既然你觉得你利用MFC编程没有多大困难了,那么我建议你马上开始学数据结构的学习,其实它查不多就是对内存分配的解释和应用,因为如果你现在看C++ Primer 的话,会有好几章的内容,你看得辛苦,因为它讲的库都是都是封装好的类以及算法,这需要一定的数据结构基础才能一到两遍读懂。

数据结构有很经典的笔试题,比如你能不能正确的写出一个下面的 string 类
class string{
private:
char