1) 每天阅读关于C++、STL和相关标签问题的stackoverflow,尝试分析问题,思考解决方案,并理解他人给出的解决方案。
2) :) 在工作中开始使用C++,如果你有好的资深人员进行严格的代码/设计审查并提供有效的评论,那么你就会学习C++。
3) 参与开源项目,下载源代码并进行分析。
4 关于工具:使用源代码分析器,如coverity,在Windows中使用Lean窗口调试工具包或类似的Unix工具。
在stackoverflow上将C++标记为收藏标签,并阅读由litb回答的任何内容。认真对待。
学习一种语言,它有很多不同的解决问题的方式,存在大量未定义的行为,关键字具有多个上下文相关的含义和模糊的语法,永远不会很快。
从Scott Meyer的《Effective C ++》开始。
我知道的C++相关的有OGRE 3D用于游戏开发和在线评测用于练习软件开发。
有几个方法可以帮助你提高:
首先,评估自己,可以进行模拟测试或其他方式来了解自己的水平。
参加高级C++课程,如算法、数据结构、网络或其他任何需要完成大型项目并且需要评分的课程,这些课程都需要掌握C++知识。
购买一本C++解决问题书籍,我推荐Deitel和Dietel的《如何编程C++》(问题与解决方案版)。有些人可能不推荐D&D,但对于您的目的来说,它是足够的。
《Thinking in C++》作者Bruce Eckel
现在它们可以免费下载:http://www.mindview.net/Books/DownloadSites
在我看来,这是一本传奇的书。Eckel是一位清晰简洁的作者。
前往亚马逊,找到一些评分较高的“学习C ++”书籍,阅读评论并查看哪些最符合您的需求,购买两三本,并逐一学习。
然而,我会谨慎选择Deitel和Deitel的“C ++ How to Program”。早期版本非常棒,但我发现第六版过于臃肿和冗长,不适合教学目的,作为参考几乎没有用处。也许第七版更好,但我无法确定。
您还可以找到一些好的在线课程。麻省理工学院的开放式课程网站可能有一些有用的内容。
但是,如果有人承诺您可以从零开始,在21天或其他时间内成为C ++大师,请不要相信。我主要使用C ++进行编程已经19年了,但我仍然不认为自己是大师。
正如鞋商所说:“只管去做。”
简而言之,开始编码,你很快就会发现自己需要了解什么。你可以阅读世上所有的书籍,但直到你能够应用知识它才有价值。