这半年一直痛苦和犹豫着该怎么学好C++,现在终于有了答案:
早睡早起
http://www.zhihu.com/question/20634421
每天早上花2小时左右学习C++
http://coolshell.cn/articles/2474.html
基础学习
http://coolshell.cn/articles/4990.html
图形学相关的博客
C++书籍
《C++ Primer》
《Effective C++》和《More Effective C++》
《C++沉思录》
《Exceptional C++》和《More Exceptional C++》
《Advanced C++》和《Modern C++》
《泛型编程与STL》
《深入探索C++对象模型》
实践任务
用C++实现一个BigInt,支持128位的整形的加减乘除的操作。
用C++封装一个数据结构的容量,比如hash table。
用C++封装并实现一个智能指针(一定要使用模板)。
《设计模式》必需一读,两遍以上,思考一下,这23个模式的应用场景。主要是两点:1)钟爱组合而不是继承,2)钟爱接口而不是实现。(也推荐《深入浅出设计模式》)
实践任务:
使用工厂模式实现一个内存池。
使用策略模式制做一个类其可以把文本文件进行左对齐,右对齐和中对齐。
使用命令模式实现一个命令行计算器,并支持undo和redo。
使用修饰模式实现一个酒店的房间价格订价策略——旺季,服务,VIP、旅行团、等影响价格的因素。
学习STL的用法和其设计概念 - 容器,算法,迭代器,函数子。如果可能,请读一下其源码。
实践任务:尝试使用面向对象、STL,设计模式、和WindowsSDK图形编程的各种技能
做一个贪吃蛇或是俄罗斯方块的游戏。支持不同的级别和难度。
做一个文件浏览器,可以浏览目录下的文件,并可以对不同的文件有不同的操作,文本文件可以打开编辑,执行文件则执行之,mp3或avi文件可以播放,图片文件可以展示图片。
学习C++的一些类库的设计,Boost, ACE, CPPUnit,STL
等完成万小时的训练再考虑下一步吧。
======================================================================================================
最佳线路:
1.写一个贪吃蛇
2.写网络模块,让贪吃蛇可以联网玩
3.把网络模块换成知名网络库,把代码移植到linux平台下,让全校人可以一起玩,发展成游戏平台
4.提供sdk给同学,让他们在游戏平台上开发一个连连看
======================================================================================================
4.3日
一口气读完了C++primer4评注版后面的101条最佳实践准则,竟然能理解大半条款了。
4.5日:
有什么事件能比从无到有实现一个强大的贪吃蛇更有意思呢?
======================================================================================================