【发布时间】:2013-06-02 15:03:14
【问题描述】:
我刚刚浏览了 Cprogramming.com 上的随机页面,并注意到了 Constructors and Destructors 教程/示例页面。他们使用了以下定义构造函数的方法:
class String
{
private:
char *str;
int size;
public:
String() : str(NULL), size(0) { } // <- This statement
String(int size) : str(NULL), size(size) { // <- And this one
str = new char[size];
}
}
我一直在使用带有魔法this 指针的老式构造函数定义:
String() {
this->str = NULL;
this->size = 0;
}
String(int size) {
this->size = size;
this->str = new char[size];
}
除了明显更小的代码(更少的行数)之外,第一个声明还有什么额外的好处吗?
PS:距离我上一次用 C++ 写东西已经有好几年了。
【问题讨论】:
标签: c++ class constructor coding-style