写得很好的C ++示例

时间:2009-05-11 13:36:33

标签: c++ coding-style

我目前正在学习C ++,并希望开始阅读其他源代码以获取技巧。我想知道是否有人有一些编写良好的C ++的例子,我可以看看(而不是从中汲取不良习惯)

6 个答案:

答案 0 :(得分:7)

正如您可能已经发现的那样,有许多Internet源代码可以提供C ++代码示例。 StackOverflow,CodeProject等都有源代码示例。但是,当然,在质量和教育价值方面,它们都在地图上。

我认为,在这方面,书籍仍然胜过互联网。没有什么可以替代去书店,翻阅几本书,挑选一本你觉得可读的书。它们已被校对(与互联网提交的内容不同),因此样本更有可能发挥作用并具有高质量。

虽然这些书通常都有一小段代码或一些功能,但它们通常附带一张CD或URL,可以为您提供更全面的示例。

O'Reilly,Thinking in C ++,Petzold和Wrox(等等)都有很好的C ++书籍。

答案 1 :(得分:4)

Boost图书馆?它通常被认为是一些最高质量的C ++代码。 (除非你自己是C ++专家,否则很多内容也或多或少都不可读)

总的来说,我建议你不要对这种方法持谨慎态度。在C ++中,源代码可能不像许多其他语言那样提供信息。

如果您看到一些Python代码,只要它运行,您几乎可以认为它是正确的。如果它是由一个似乎知道他们正在做什么的人写的,你甚至可以认为它写得很好。

在C ++中,每个规则都有许多令人讨厌的陷阱和微妙的例外,你真的需要知道你在做什么。通过编译,或者似乎工作的东西,或者你在其他人的源代码中看到的内容是危险的,并且几乎可以保证你迟早会得到一个依赖于未定义行为的程序,并且会在你崩溃时崩溃最不期望的。

如果我是你,我会试着坚持书。有一些写得很好的,除了让你看到一些源代码,还教你“正确”的语言。只要你坚持信誉良好的作者,你就确保他们不会教你任何坏习惯或者让你陷入不便携的代码。

答案 2 :(得分:2)

在我看来,如果你读了一本好的C ++书(比如“The C ++ Programming Language”,“(More)Effective C ++”或“Exceptional C ++”)。 您不仅要学习良好实践,还应该了解如何编写代码。

当然,这些书中的样本大多是人为的。如果您阅读“真实世界的应用程序”,您将始终遇到非常难看的代码片段,但有时候它不仅仅是一个很好的清洁解决方案(或者一个不那么干净的解决方案只是更有效率的术语速度)。

所以我不知道是否最好从真正的应用程序开始,因为它们因代码大小和复杂性而非常庞大,而书籍中的示例代码非常紧凑且布局清晰。

我认为对于初学者来说,你最好阅读我列出的书籍。 如果你必须在未来的某个时候保持灵活性并且必须生成丑陋的代码,那么你至少应该知道它是丑陋的代码并且不要将其误认为“它应该如何”;)

答案 3 :(得分:1)

如果您已经掌握了一些C ++知识,那么阅读开源软件可能非常有教育意义。如果你刚刚开始,我想Boost库就会出现在你的头上。您可以从WebKit项目开始,这是一个很好的资源。谷歌也发布了很多源代码,这些代码也非常简洁:Protocol Buffers就是一个很好的例子。当你在这里时,你也可以阅读他们的C++ Style Guide

就个人而言,我开始学习C ++,学习了几本书,并编写了一些小挑战应用程序。请记住,学习像C ++这样广泛的语言需要很长时间,例如10 years long

很多年前,有人告诉我,如果我想要一个C ++开发人员的职业生涯,我一定要阅读Scott Meyers的 Effective C ++ 。这应该可以防止你陷入语言的许多陷阱。如果您发现需要更简单的东西,请从Kernighan&amp ;;的 The C Programming Language 开始。里奇。要有耐心,祝你好运!

答案 4 :(得分:0)

如果您想要浏览完整的项目,我建议Ogre3d。它是一个结构良好的图形引擎,具有良好的文档,源代码本身也很好。

答案 5 :(得分:0)

如何:Bjarne Stroustrup的 Programming: Principles and Practice Using C++