C++11特性:统一的初始化方法
成员变量默认初始值:
auto关键字:用于定义变量,编译器可以自动判断变量的类型 auto i = 100; // i 是 int auto p = new A(); // p 是 A * auto k = 34343LL; // k 是 long long map> mp; for( auto i = mp.begin(); i != mp.end(); ++i) cout << i->first << "," << i->second ; //i的类型是: map>::iterator
decltype 关键字:求表达式的类型
智能指针shared_ptr:头文件: 通过shared_ptr的构造函数,可以让shared_ptr对象托管一个new运算符返 回的指针,写法如下: shared_ptrptr(new T); // T 可以是 int ,char, 类名等各种类型 此后ptr就可以像 T* 类型的指针一样来使用,即 *ptr 就是用new动态分配的 那个对象,而且不必操心释放内存的事。 多个shared_ptr对象可以同时托管一个指针,系统会维护一个托管计数。当 无shared_ptr托管该指针时,delete该指针。 shared_ptr对象不能托管指向动态分配的数组的指针,否则程序运行会出错
空指针nullptr:
基于范围的for循环:
右值引用和move语义:一般来说,不能取地址的表达式,就是右值, 能取地址的,就是左值 class A { }; A & r = A(); // error , A()是无名变量,是右值 A && r = A(); //ok, r 是右值引用 主要目的是提高程序运行的效率,减少需要进行深拷贝的对象进行深拷贝 的次数。
In -Video Quiz:
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.