标签:const 创建 修改 绑定 类对象 named 自动 ssi 新特性
编译器为class默认创建6个函数:
struct A {
A() {} //default构造函数
A(const A& a) {} //copy构造函数
A(A&& a) {} //move构造函数
A& operator=(const A& other) {} //copy assignment操作符
A& operator=(A&& a) {} //move assignment操作符
~A() {} //析构函数
};
class NamedObject{
private:
std::string& str;//引用定义后不能修改绑定对象
const std::string con_str;//const对象定义后不能修改
};
将默认生成的函数声明为private,或者C++ 11新特性"=delete"
class Uncopyable{
//Uncopyable(const Uncopyable&) = delete; //拒绝使用默认
//Uncopyable& operator= (const Uncopyable&) = default; //使用默认
private:
Uncopyable(const Uncopyable&);
Uncopyable& operator= (const Uncopyable&);
}
标签:const 创建 修改 绑定 类对象 named 自动 ssi 新特性
原文地址:https://www.cnblogs.com/narjaja/p/10067735.html