6.3 C++11 原子操作与原子类型
创建自定义类型的原子类型,当然也可以使用此方式创建内置类型的原子类型。atomic为作为类模板,提供了统一的操作接口:其中is_lock_free用于判断是否有锁,load用于读取,store用于存,exchange用于交换数据。由于原子类型属于资源类型,所以为了避免拷贝时引起的问题,atomic类
c/c++的运算符重载
所谓的运算符重载指的是同一个运算符完成不同的运算,运算符重载是通过运算符重载函数实现的,当c++编译遇到重载运算符时,例如c1-c2中的减法运算符-时候,会自动调用-运算符的重载函数完成减法运算。include"iostream"class Complex{float a;float b;publi
【C++11】左值引用和右值引用
右值引用通过移动构造和移动赋值,解决了左值引用值返回多次构造的消耗。同时插入右值场景,调用移动构造,减少拷贝,提高性能。
vscode配置c++11
1.vscode默认c++98在macos安装vscode以后,默认的c++版本为98。这个版本相对比较老,对很多新特性新语法也不支持。比如如果我们使用如下增强型for循环for(int n: listnum) {...}vscode会提示:range-based for loop is a C++