c++(5)线程/析构/const

标签(空格分隔): cpp


参考博客

线程

线程也是std::thread的对象,一个线程随着线程对象的产生就开始
mThread = {std::thread{&Thread::threadFunction, this}};
`

析构函数:释放类对象的资源

不管类是否定义了自己的析构函数,编译器都自动执行类中非
static 数据成员的析构函数。
什么时候析构函数被调用,类的资源被释放

拷贝构造函数:

对象初始化有两种方式,一种是复制初始化,一种是直接初始化。
直接初始化即直接调用构造函数,复制初始化是先调用构造函数创建一个临时对象,然后用复制构造函数将那个临时对象复制到正在创建的对象

string null_book = "9-999-99999-9"; // copy-initialization
string dots(10, '.');
// direct-initialization
string empty_copy = string();
string empty_direct;
// copy-initialization
// direct-initialization

const std::string& str(std::string & reslut) const 请问里面的两个const 和&是什么意思

第一个const表示 string是常值,不能修改
第二个const表示函数是常函数,即不修改输入值的函数
两个&都表示传递的是引用类型,只是放的位置一个是函数参数,一个是返回值

猜你喜欢

转载自blog.csdn.net/u013608336/article/details/78270331