说明C+的最佳实践的小型且有充分评论的项目+; P>有没有什么小的项目说明C++的最佳实践?如果一个人能从一个简单且有完整注释的项目中学到很多东西,而不是阅读那些用许多不相关的片段展示最佳实践的材料,那就太好了

说明C+的最佳实践的小型且有充分评论的项目+; P>有没有什么小的项目说明C++的最佳实践?如果一个人能从一个简单且有完整注释的项目中学到很多东西,而不是阅读那些用许多不相关的片段展示最佳实践的材料,那就太好了,c++,C++,例如,项目的一个头文件可能如下所示: #pragma once//如果编译器支持,请使用“pragma once”。比使用include-guard更快的构建时间。更多解释。。。 #ifndef MYHEADER_H//Traditional include guard,用于不支持#pragma one的编译器 苹果类;//尽可能使用前向声明以缩短构建时间 我确信这样一个项目是不存在的,如果它存在的话,我可能不会推荐一本好书。你的前提有几个问题: L> >P>全书已经写过C++最佳实践的主题

例如,项目的一个头文件可能如下所示:

#pragma once//如果编译器支持,请使用“pragma once”。比使用include-guard更快的构建时间。更多解释。。。
#ifndef MYHEADER_H//Traditional include guard,用于不支持#pragma one的编译器
苹果类;//尽可能使用前向声明以缩短构建时间

我确信这样一个项目是不存在的,如果它存在的话,我可能不会推荐一本好书。你的前提有几个问题:

    <> L> >P>全书已经写过C++最佳实践的主题,所以我很怀疑任何<>强>小< /强>项目,说明任何合理数量的项目。请注意,这并不意味着书籍不能有连贯的示例,而不能有不相关的示例,但它通常仍然是从更大的代码库中挑选出来的

  • 如果没有一个透彻的解释,为什么它们是合理的,那么最佳实践是毫无意义的。对于许多最佳实践来说,这种解释不够简短,不足以容纳典型的代码注释(每行代码之间有20行注释(稍微夸张,但可能不会太夸张),这并不能使项目具有很强的可读性)

  • <> L> > P>许多C++的最佳实践(或者在编程中一般,但在C++中特别明显)是有争议的,所以有时显示一个好的方法来显示不同的方法来解决一个特定的问题(并且说为什么一个更好),这很容易在一本书/教程中以不同的方式实现相同的例子。但这在项目中是不明智的


因此,我宁愿推荐一本关于C++实践的好书。因此,从中挑选一本书。我会考虑Scott Meyers >代码>有效的C++ >代码>(和<代码>有效的STL< /Cord>,可能代码> >更有效的C++ <代码>,以获得最佳实践,但有些人也可以做这项工作。

< P>我确信这样的项目不存在,如果它存在,我可能不会在一本好书上推荐它。你的前提有几个问题:

    <> L> >P>全书已经写过C++最佳实践的主题,所以我很怀疑任何<>强>小< /强>项目,说明任何合理数量的项目。请注意,这并不意味着书籍不能有连贯的示例,而不能有不相关的示例,但它通常仍然是从更大的代码库中挑选出来的

  • 如果没有一个透彻的解释,为什么它们是合理的,那么最佳实践是毫无意义的。对于许多最佳实践来说,这种解释不够简短,不足以容纳典型的代码注释(每行代码之间有20行注释(稍微夸张,但可能不会太夸张),这并不能使项目具有很强的可读性)

  • <> L> > P>许多C++的最佳实践(或者在编程中一般,但在C++中特别明显)是有争议的,所以有时显示一个好的方法来显示不同的方法来解决一个特定的问题(并且说为什么一个更好),这很容易在一本书/教程中以不同的方式实现相同的例子。但这在项目中是不明智的


因此,我宁愿推荐一本关于C++实践的好书。因此,从中挑选一本书。我会考虑Scott Meyers >代码>有效的C++ >代码>(和<代码>有效的STL< /Cord>,可能代码> >更有效的C++ < /代码>,以达到最佳实践,但有些其他人也可以完成这项工作。

编译器足够聪明,可以识别include-guard。它也很有问题,可能会让你非常头疼,例如,当相同的内容可能包含在两个不同的文件中时,等等。如果这样一个项目存在,并且它确实包含与你发布的内容类似的评论,我不会推荐它。如果你在寻找最佳实践,你可能应该购买(并阅读)“高效的C++”。如果每个include卫士都被评论过,那将是非常累人的。有一句格言“写代码,而不是注释”,鼓励您编写惯用的、自描述性的代码,而不是用注释使程序过载。这是一个很好的建议。@Lister先生,如果你在中型以上的项目中工作,转发声明可以在一周内节省几个小时的编译时间。为了继续Kerrek SB的注释,注释通常应该战略性地放置在描述算法、前置/后置条件、关于接口的重要注释的位置。我也在罕见的代码中使用它们,这些代码必须以某种方式排序,或者当有一个模糊的bug已经修复并应该记录在案时。@MrLister:是的,当相同的内容存储在两个不同的文件中时(从编译器的角度来看)。不久前,gcc中甚至有一个符号链接的bug,后来被修复了。你为什么认为这些废话不符合标准?它很弱:)正如您所知,
#pragma once
是非标准的,它不能提供更快的构建时间。编译器足够聪明,可以识别include-guard。它也很有问题,可能会让你非常头疼,例如,当相同的内容可能包含在两个不同的文件中时,等等。如果这样一个项目存在,并且它确实包含与你发布的内容类似的评论,我不会推荐它。如果你在寻找最佳实践,你可能应该购买(并阅读)“高效的C++”。如果每个include卫士都被评论过,那将是非常累人的。有句格言“写代码,