
1、为什么要学习C/C++?
发现自己最拿手的java用起来真是笨手笨脚的,碰到好多实现起来巨繁琐的问题,比如操作底层库,和OS framework交互,做个用户体验好点的本地图形程序等等,这些都是java的软肋。
其实,我一直对底层颇感兴趣,工作中也只能接触一下JVM,但VM毕竟是VM,始终与底层失之交臂。
Linux、Mysql、Memcached、Boost、Apache、JVM、ACE......很多基础服务都是用C/C++实现的,要像了解他们原理、能看懂代码、可以修改bug、增加新功能模块
开发嵌入式、中小型项目C/C++项目,维护C/C++项目......
加深对系统底层的理解
2、How学习C/C++?
下文是我整理的一些C++图书列表,按顺序阅读,可涵盖入门到精通。
《The C programming language》必读
《C++Primer》,号称是一本可以让你从C或JAVA程序员转为一个真正的C++程序员的入门参考书,必读。
《The C++programming language》,C++之父,人称B教主著作,在看过C++primer后,应该可以跳章选读。
《Think in c++》,网上说此书的中文版翻译质量奇差,推荐看影印版,选读。
《Effective c++》,类似Effective java,讲的是实践,程序员必读。
《More effective c++》,上书的补充。
《The C++standard library》,会写C,不会用标准库怎么行。这就跟java程序员不会用java.util包一样,必读。
《Effective STL》,STL库的实践。Effective C++作者又一力作,必读。
《The annotated STL source》,STL源码分析,这本书应该算是深入/精通类了,选读。
《Generic programming and STL》,号称C++编程里,就是跟模板,泛型打交道,那么精通泛型是势在必行。
《C++Template》,C++模板编程,代码复用的经验之道,必读。
《Exceptional C++》,跟Effective C++类似,属于实践和难题解析,书中列出了许多应用场景和实例代码供读者揣摩,选读。
《More Exceptional C++》,上书的补充。
《Exceptional C++Style》,上上书的补充
《Inside The C++Object Model》,有了上面这些书做铺垫,那么终于可以读此神书了。它会带你游览C++对象模型的底层实现机制。读完此书,任何C++代码看起来如同行云流水,必读。
3、优秀的C/C++开源项目(阅读代码)
OS:Linux kernel LVS、Linux应用程序
DB:Mysql、PostgreSQL
Complier:JVM、GCC
Framework:OpenSip、SipProxy、
Net:ACE(Java Mina、Netty)、TCP/IP、HTTP协议栈
Cache:Memcached、Redis、
Library:STL(java util package)、Boost、Qt(UI)、
balance:Apache、Nginx
以上就是关于“C++如何入门”的内容介绍,希望对大家学习有所帮助。想要了解更多关于学习C++的相关资讯欢迎来咨询。