Onn*_*esh 58 c++ c++-faq member-functions
编译器为类创建的所有成员函数是什么?这会一直发生吗?像析构函数.我担心的是它是否为所有类创建,为什么需要默认构造函数?
sbi*_*sbi 85
如果需要,
彼得在一个有用的评论说,所有这些都只能由编译器产生在需要的时候.(所不同的是,当编译器不能创建它们,那也行,只要他们不使用.)
C++ 11增加了如下规则,这些规则也适用于C++ 14 (学分towi,看到此评论):
请注意,这些规则比C++ 03规则更精细,在实践中更有意义.
为了更容易理解上面的内容,请参阅以下内容delete:
class Thing {
public:
Thing(); // default constructor
Thing(const Thing&); // copy c'tor
Thing& operator=(const Thing&); // copy-assign
~Thing(); // d'tor
// C++11:
Thing(Thing&&); // move c'tor
Thing& operator=(Thing&&); // move-assign
};
Run Code Online (Sandbox Code Playgroud)
而进一步阅读,如果你是一个C++ - 初学者考虑一个设计,不要求你实现过去的五个,即零规则 (由Martinho Fernandes).
| 归档时间: |
|
| 查看次数: |
34578 次 |
| 最近记录: |