4 个回答

要说做练习,我最推荐读一下STL源码剖析(老书一本),跟着里面的例子自己写一个 C++ 容器,比如亲手实现一个 B+ 树什么的。

C++ 是面向对象的,但并不是必须得面向对象,像 java 这种纯粹面向对象的语言写多了就会非常烦,C++ 这种面向对象和面向过程相结合的语言深入学习是会很舒服的,可以找到适合项目的模式。

标准库里面的容器就是个很好的适度面向对象例子,在了解标准容器怎么设计的(比如 vector)就明白不少 C++ 知识点:class 声明、构造/析构、函数重载、运算符重载、模板……然后再自己写一个容器练练手,先从不支持模板的简单容器入手,再一步步符合标准,加入迭代器、符号重载、模板、allocator……等你能写一个高效正确的容器适合,大概就已经了解 C++ 这门语言了~

P.S. C++ 几乎是学习曲线最陡峭的语言了,觉得不好学习和运用是正常的。
P.S.S. 个人不是很推荐从项目入手来学习 C++。国内编程的基础教育本来就比较差,假如再用上实用主义的学习方法的话,上手很快但基础就太不牢靠了。我见过不少写了多年 C++ 还不能写出一个符合标准的容器类的人,这样的程序员来设计/实现大型 C++ 项目简直是个灾难。能有多糟糕,请左转参考 cocos2d-x v2.x 的源码~

边做项目 边体会设计模式
做项目的过程中会锻炼c++语法,用法什么的,另外还会踩一些坑,坑踩多了就ok了
在项目中灵活适度使用设计模式会加深对面向对象的理解

Qt入门C++确实不错,Qt把C++封装的和C#一样简单了。。。直接看Qt的开源工程,等你C++熟练了以后,可以考虑看些C++的牛逼开源工程

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题