问题在于我是一名Java/Python程序员,但我真的想学习C++,所以我已经学习了一段时间的C++,但除了一些小练习之外,我还没有测试过我所学的任何东西。
我想把所有的知识都付诸实践。
独自学习C++容易养成许多不良的习惯。最好是在一家具有高水平C++开发技能的公司实习,并在指导下接受培训。
C++就像没有安全销的手榴弹,看起来很酷,而且你听说所有“真正的专业人士”都在使用它,但你不知道何时会爆炸。拥有大量可以用于好或坏的功能,如果不知道是否真的好还是坏,那么指导就必不可少了。
一种内存管理器。这应该让你想到以下内容:
当我学习C++时,我使用它编写了自己的语言,用于编写类似于“巨型洞穴”风格的冒险游戏。像大多数计算机语言一样,它从未见过天日,但它确实教会了我很多关于C ++的知识。
无论你选择什么,学习C++时需要避免的是GUI编程,这是一个陷阱,会耗尽你所有的勇气,并可能在此过程中教你不良的C++习惯。
我建议创建一个基于文本的游戏,这真的帮助我巩固了我的C++。不需要花费太长时间,你可以练习所有你想要的功能,自己想出游戏规则会更有趣。
另一个很好的主意是编写一个简单的数学库,支持向量、矩阵等等。但是,现在有了今天的库,这只有学术用途。
取决于你想从事哪个领域。但是,没有什么值得做的东西代码行数不超过1000行。
如果你想写游戏,那么可以尝试编写俄罗斯方块克隆版。
如果你认为自己会使用套接字等技术,那么编写一个简单的聊天/IRC客户端会有所帮助。
你是否有特定的需求需要解决?上一次你觉得“这很烂,我可以做得更好”是什么时候?你能做得更好吗?
从答案中似乎有两个主题:
您需要选择一个可能涉及超过1K LOC的项目,以获得项目的真实体验。
您还需要与经验丰富的C++开发人员合作,他们可以帮助您思考问题并避免与语言相关的陷阱。
您可以通过访问sourceforge.net并注册以帮助现有的C++项目来解决这两个问题。 只要您不介意您的代码是开源的,您就应该能够找到一个现有的项目来学习,并且有经验的开发人员可以通过审查您的代码并提供指导来帮助您。