![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
如何学习c++?
可以根据自己的实际情况来制定学习计划:
1、找一本好的C++书籍,然后以及尽量多的完成书籍的习题,可以帮助完成C++语法的学习。你可以选择在线查阅C++标准库这种泛型的学习方式,也可以选择阅读《C++标准库》的方式进行学习,这时算是完成C++的初步学习了。
2、由于C++是一门系统级语言,到大三学习操作系统的时候,才会明白栈与堆、内存管理等更深层次的含义。你可以利用C++做一些事情,比如写一个简单的XML Parser,并从中发现效率,代码规范等问题,研究Effective C++,Google C++ Code Standard等,只有自己犯了错,回过头反省才会更加深刻。
3、可以更加深刻的去思考C++,需要阅读《The Design and Evolution of C++》。如果你对C++编译器的一些细节有兴趣,深入C++对象模型可以推荐; 如果你对STL的一些实现有兴趣,可以去翻翻STL源代码(很多人推荐STL源码剖析,但是我没有阅读过,我没有办法发表是否应该推荐的观点,列出来供你自行判断是否应该阅读)。
4、实践中发现问题,然后补足自己。
【注】
C++博大精深,应用的范围多如牛毛,特定方向所需要的知识未列举。如果要研究Android的NDK,后续多加强学习即可。
C++ 就是 C 的衍生品之一,兼容 C 语言。
起初的目的是扩展 C 语言“C with Classes”,但是后来随着发展,C++ 标准中加入了:虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)等。C++ 变得强大的同时也变的异常复杂,同时随着新内容的增加,C++ 离 C 也就越来越远(思想而非语法)。
C++ 是一门争议性语言,在 C/C++ 的时代(C/C++刚出道的时候),语言的可选性较少,所以 C++ 干了许多事情,现在时代不一样了,正如我前面所谓语言纷飞,针对性语言众多,程序员的选择性也就多了(有很多的优秀的语言可以去学,C#,java,php,python,ruby??),所以 C++ 不再是必须品。