简介
用到了太多的C++11的知识点,所以,暂时学点别的再搞这个。
C++11
特殊函数的认识
- delete defalut在C++11的作用可以参考这篇文章
https://blog.csdn.net/lmb1612977696/article/details/80035487
简而言之,default可以要求编译器生成默认的构造函数。
delete可以要求编译器或者模板构造函数不生成对应的函数。 - 关于joinable的函数的意思,参考链接 https://blog.csdn.net/Charles_Zaqdt/article/details/104134965
joinable()函数是一个布尔类型的函数,他会返回一个布尔值来表示当前的线程是否是可执行线程(能被join或者detach),因为相同的线程不能join两次,也不能join完再detach,同理也不能detach,所以joinable函数就是用来判断当前这个线程是否可以joinable的。通常不能被joinable有以下几种情况:
1)由thread的缺省构造函数而造成的(thread()没有参数)。
2)该thread被move过(包括move构造和move赋值)。
3)该线程被join或者detach过。
- 关于functional 头文件的认识可以参考下面两篇文章
function相当于一个简单的函数包装器,可以包装
functions(普通函数), lambda expressions(lambda 表达式), bind expressions(bind 表达式,bind 猜测应该是对于一个函数的绑定), or other function objects,
as well as pointers to member functions(类的成员函数) and pointers to data members(结构体的数据成员?).
https://www.cnblogs.com/ChenchenLu/p/5315336.html 中文有例子
https://en.cppreference.com/w/cpp/utility/functional/function 英文更全面
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》