当我在C++中组合一个类时,我几乎总是会做一些事情。
1)虚拟析构函数2)复制构造函数和赋值运算符(我要么通过一个称为Copy()的私有函数来实现它们,要么将它们声明为私有,从而显式地禁止编译器自动生成它们)。
你发现什么东西几乎总是有用的?
发布于 2008-11-25 00:52:39
我发现打开-Wall、-Werror和(这是一个有趣的) -Weffc++的gcc标志可以帮助捕捉到很多潜在的问题。从gcc手册页:
-Weffc++ (仅限C++ )警告违反Scott Meyer的Effective C++一书中的以下样式准则:·第11项:为具有动态分配内存的类定义复制构造函数和赋值运算符。·第12项:在构造函数中首选初始化而不是赋值。·第14项:在基类中将析构函数设为虚的。·第15项:让"operator=“返回一个对*this的引用。·第23项:当必须返回对象时,不要尝试返回引用。关于违反Scott Meyer的More Effective C++一书中的以下风格准则:·项目6:区分递增和递减运算符的前缀和后缀形式。·第七项:永远不要重载"&&“、"││”或",“。如果您使用此选项,您应该意识到标准库头文件并不遵守所有这些准则;您可以使用grep -v来过滤掉这些警告。
发布于 2008-11-25 01:49:50
奇怪的是,这里的大多数建议都是我特别不会做的。
,
发布于 2008-11-25 01:11:09
当我把一个类放在一起时,我做的第一件事就是在它上面放一些doxygen注释,说明它为什么存在以及它做了什么。
我曾经在一个小组项目中工作,他们说他们想在项目结束时记录这些东西。而且稍后将注释放入代码中也是一团糟。我不想让这种事情再次发生。
https://stackoverflow.com/questions/315987
复制相似问题