你会推荐我什么项目来跟上C++; 我知道C++是一种非常复杂的语言,需要多年的实践才能掌握。p> 考虑到这一点,你知道一个小项目(大约1K的LOC)测试所有C++主要特性(继承、指针、内存管理等)。p> 我是一个java/python程序员,我真的想学习C++,所以我已经学习C++了,但没有测试过我在小练习之外学到的东西。p>
我想把所有这些知识都运用到实践中。单独做这件事你会养成许多有害的习惯。最好是在C++开发和指导下进行培训,在一个公司里有一个强< >强>的公司实习。你会推荐我什么项目来跟上C++; 我知道C++是一种非常复杂的语言,需要多年的实践才能掌握。p> 考虑到这一点,你知道一个小项目(大约1K的LOC)测试所有C++主要特性(继承、指针、内存管理等)。p> 我是一个java/python程序员,我真的想学习C++,所以我已经学习C++了,但没有测试过我在小练习之外学到的东西。p>,c++,project,C++,Project,我想把所有这些知识都运用到实践中。单独做这件事你会养成许多有害的习惯。最好是在C++开发和指导下进行培训,在一个公司里有一个强< >强>的公司实习。 C++就像一枚没有安全别针的手榴弹——看起来很酷,你也听说过所有“真正的专业人士”都使用它,但你不知道它什么时候会爆炸。大量的功能可以用于善或恶,而不知道它到底是善还是恶。这就是为什么这里必须提供指导。我建议创建一个基于文本的游戏。这确实帮助我巩固了我的C++。不需要太长时间,你可以锻炼你想要的所有功能。你自己想出这个游戏。那样更有趣 另一个好主意
C++就像一枚没有安全别针的手榴弹——看起来很酷,你也听说过所有“真正的专业人士”都使用它,但你不知道它什么时候会爆炸。大量的功能可以用于善或恶,而不知道它到底是善还是恶。这就是为什么这里必须提供指导。我建议创建一个基于文本的游戏。这确实帮助我巩固了我的C++。不需要太长时间,你可以锻炼你想要的所有功能。你自己想出这个游戏。那样更有趣 另一个好主意是编写一个简单的数学库,支持向量矩阵等。
但对于今天的图书馆来说,这只是学术用途。取决于你想在哪个领域工作。但是,在少于1000行代码的情况下,没有什么值得做的事情是正确的 如果你打算写游戏,那么试着写一个俄罗斯方块克隆 如果您认为您将使用套接字等,那么编写一个简单的聊天/irc客户端将有所帮助
你是否有需要抓挠的特定瘙痒?你最后一次想到“这糟透了,我可以做得更好”是什么时候。你能做得更好吗?内存管理器。这会让你想到:
- 免费商店管理
- 指针(当然!)
- 继承(您希望您的驱动程序代码使用此功能)
- 模板(传递经理的另一种方式——驱动程序2)
- 设计用户定义的数据结构(内存块)
- 有效使用标准容器
- 算法(移动、找出空块、碎片整理)
这是C++的一个普遍问题。你很容易认为你得到了它,而且编译器肯定不会通知你忘记处理的方面。因此,您可能认为您的代码是完美的,但它会在各种奇怪的特殊情况下崩溃
正如Salp齿所说的,对于一个和C++一样混乱的语言,自己编写代码是有风险的。它很容易落入“我写了一些代码,它编译了,并且似乎运行了。因此它是正确的”的陷阱。当然,你可以在这里或其他网站上发布你的代码进行评论,或者只是通过阅读文档来补充你的代码,以获得真正的高质量C++代码。(大多数提升库倾向于有全面的文档,指定各种设计决策的原理,以及它如何安全地处理所有在C++中出现的奇怪特殊情况。当然,C++标准本身也是另一个优秀的资源。在任何一种情况下,这些都可以帮助您确定要查看哪些问题。当我学习C++时,我用它来编写我自己的语言来编写巨大的洞穴式冒险。像大多数计算机语言一样,它从来没有见过白天的光亮,但它确实教会了我很多关于C++的东西。
<> P> >选择学习C++时要避免的东西是GUI编程,这是一个陷阱,它会耗尽你所有的精力,可能会教你C++过程中的不良习惯。 < P>我会重新编写一个俄罗斯方块克隆。 你可以学习很多C++概念,学习一个像SDL这样的二维库,甚至可以学习OpenGL。 拥有一个有视觉效果的项目总是好的,在项目结束时你可以播放它。和 除了选择这个,你还需要选择一个(小的)个人项目,然后在C++中做。你不需要通过阅读一个1000行项目来学习C++。 一种矩阵,其中每个位置都可以是空的或存在的。 一个人有几个属性:年龄、剩余时间、性别、邻里关系等等。能够进行一些互动:打架、做爱、生孩子、交朋友等等。一些人有特殊技能,这取决于他们的父亲(继承的行业)…比如杀戮能力、制造食物的能力等等。。。 这些互动和技能的可能结果是改变自我属性,或创造后代(如果可能),或改变邻居属性 在每次迭代中,在控制台上以符号/数字的形式打印矩阵(取决于属性等),从圣经中的迭代0开始(初始条件由您选择……您在这里是上帝) 现在你有了一些现实生活的模式