Effective C++学习笔记 条款06:如不想使用编译器自动生成的函数,就该明确拒绝
2014-10-31 00:13
731 查看
一、为驳回编译器自动提供的机能,可将相应成员函数声明为private并且不予实现。(如果你仅仅是自己不实现的话,编译器会帮你实现)
如:
二、对于拒绝赋值的copy的类,也可以继承一个Uncopyable的基类。
如:
class A { public: A(const string& name):m_name(name) {} private: //拒绝copy和赋值,声明为private,并且只声明不实现 A(const A&); A& operator=(const A&); private: string m_name; };
二、对于拒绝赋值的copy的类,也可以继承一个Uncopyable的基类。
class Uncopyable { public: Uncopyable() {} ~Uncopyable() {} private: Uncopyable(const Uncopyable&); Uncopyable& operator=(const Uncopyable&); }; class A: public Uncopyable // 继承Uncopyable不一定要是public ! { public: A(const string& name): m_name(name) {} private: string m_name; };
相关文章推荐
- Effective C++ 条款06 若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++ 条款6 若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++——》条款6:若不想使用编译器自动生成函数,就该明确拒绝 .
- Effective C++_笔记_条款06_若不想使用编译器自动生成的函数,就该明确拒绝
- 读书笔记_Effective_C++_条款六:若不想使用编译器自动生成的函数,就该明确拒绝
- 《Effect C++》学习------条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++ Item 6 若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++ -----条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06: 若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06 若不想使用编译器自动生成的函数 就该明确拒绝
- Effective C++ 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- Effective C++:条款06:若不想使用编译器自动生成的函数,就该明确拒绝。
- 读书笔记《Effective C++》条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- Effective c++学习笔记——条款6,不想自动生成函数,要明确拒绝
- Effective C++ Item 06-若不想编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝.
- Effective C++ Item 6 若不想使用编译器自动生成的函数,就该明确拒绝
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝