我应该如何使我的C ++与现代开发保持同步?[关闭]


9

当我确定语言和最佳实践已经发展时,我应该如何更新一些非常生锈的C ++?我意识到这可能已经成为话题,所以让我澄清一些细节。大约10年前,我认为我是一个很好的C ++程序员,我吃光了Scott Meyers的书,我可以解决Dobbs博士的皮棉广告中的难题。我可能是一位语言律师。在过去的十年中,我主要从事Java和python的编程工作,因此我的OO技能仍然不成熟。但是在加入一家C ++很普遍的公司后,我意识到我必须承认自己非常生锈,而且现在有一些语言功能,这些功能要么是新的,要么是比我记得的更常见的,例如名称空间等。

我意识到读写代码(尤其是配对代码)是一种加快速度的好方法,但是人们会在此方面建议其他任何资源来帮助我快速起步。书?网页?教程?

总结一下:

  • 对C ++特定的复习资源的建议?
  • 通常不面向对象/编程。
  • 除了阅读和编写代码外,还需要做其他事情。

Answers:


10

如果您已经 “吞噬了Scott Meyers的书 ”,那么您与10年前从事C ++的普通人(IMHO)相比要相距甚远。获得有效的C ++的第三版(以及Sutter / Alexandrescu撰写的C ++编码标准书),以进行短暂的刷新,实际上,您应该已经准备好了。

这些书中的建议(我认为最初是2005年)与今天一样有效。

哦,如果还没有,请安装boost

在C ++中重新启动的幸运时机,因为我非常确定,今年和明年C ++ 11标准开始建立之时,将会有很多重新启动类型的资源和书籍。


优秀的建议。斯科特·迈耶斯(Scott Meyers)去年加入我们公司,为所有开发人员提供了为期两天的现代C ++技术进修课程。他知道C ++在现实世界中是如何工作的,而不仅仅是具有理论的学者。
Karl Bielefeldt

2

1)从具有c ++ 11功能的现代编译器开始(假设您的工作需要早于或晚于更新)

2)使用现有程序(也许是您的宠物项目),并对其进行更新或扩展,以使用更现代的库(例如c ++ 11标准库或boost)。

3)阅读最新的C ++功能。还有一些好书。如果您还没有阅读Modern C ++ Design,我会推荐它。这是使用c ++技术进行高级设计的经典之作,这些技术是您缺席时引入并磨练的。

这是一个起点。


1

缺口,

我建议您参与一个开源项目。您看过sourceforge吗?这可能适用于任何语言,但是这里的主要好处是在为软件项目做贡献的同时向其他开发人员学习。通过从事开源项目,您可以学到一些有趣的样式和语言功能。有些好,有些坏,有些……很奇怪:)。


4
也许我只是倒霉,但是我见过的开源项目包含一些我曾经遇到过的最可怕的代码-它们可以用作编写C / C ++的完美示例。因此,如果您出于学习的目的决定浏览开放源代码,我建议您选择一个许多程序员都积极参与的项目。此类项目中很有可能包含高质量的代码。

1

在C ++中做一些代码kata:河内塔,环形缓冲区等等。这样做不仅会比阅读有关书籍的效率高得多,尽管阅读书籍将帮助您学习不了解的东西。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.