【发布时间】:2013-08-05 05:56:13
【问题描述】:
例如,这是以下任何一种吗
- 不好的做法
- 不可读
- 效率低下(对
this指针的调用) - 这样做不好的任何其他原因
.
class Person {
public:
string name;
Person(string name) {
this->name = name;
}
};
附言
Person(string name) : name(name) { }怎么样
【问题讨论】:
-
是什么让您认为这会低效?
-
我不知道,也许这个指针有 4 个字节的额外开销:/ 这就是我问的原因
-
以上都不是。这是一个众所周知的成语。
-
@OleksiyDobrodum:
this始终存在,无论您是否明确声明。 -
开销是默认构造一个字符串,然后分配给它。使用构造函数初始化列表,那就不用担心了。
标签: c++ syntax parameters this