很多学习C++的朋友,叫到:我辛苦学习了厚厚的一本c++教科书,怎么感觉程序还是什么也不会写?(除了课程里的那些个花花草草的小例程)。。
原因不外有二:
1。 对 c++ 只是懂了语法,真正含义仍然理解不够,很多语法知识点,仅是知其然,而不知其所以然。总之,基本功还是不够。
2。 更有可能的是,光光学了C++的功,没有学习c++的武,所以,就像一位武林高人,看上去“内力”很深厚,但手上一点招势不会。
学习c++编程,就得弄清c++的“武”和“功”各是什么。
功 -- C++语言 (语法、设计),这方面不细说了,这是基本功。
表达式,运行符,语句 ,流程,函数,传参,引用,指针,对象,派生,虚函数,友元。。。。。
武 -- C++实用库大全:
- STL(容器也算法,帮助你迅速跳过常用算法及数据库的槛)
- GUI (比如跨平台的wxWidgets,学习C++,你总不会只想写那种DOS/控制台界面吧?总会永远只写类似
cin << "Hello world!" << endl; 这样的项目吧?如何写带窗口的程序?并且学会在Windows写,
就同时也学会 在Linux下,UNIX下写?当然需要学会一套C++的跨平台的GUI库,才能说你会C++编程了。 - boost -- 也不多说了。不用boost,出门真不好意思说自己会c++。类似线程之类很实际功能,在这里有很好的支持。
- XML 解析 --- 到处都需要,可是和thread一样,没看到标准库有只言片语啊?
- 数据库 --- 商业程序几乎离不开数据库操作。
《白话 C++》 就是一本兼顾c++编程“武、功”的 “秘笈”与“大全”。