C++11新的用法整理
1. constexpr详解
C++ 11标准中,为了解决 const 关键字的双重语义问题,保留了 const 表示“只读”的语义,而将“常量”的语义划分给了新添加的 constexpr 关键字。因此 C++11 标准中,建议将 const 和 constexpr 的功能区分开,即凡是表达“只读”语义的场景都使用 const,表达“常量”语义的场景都使用 constexpr。
总的来说在 C++ 11 标准中,const 用于为修饰的变量添加“只读”属性;而 constexpr 关键字则用于指明其后是一个常量(或者常量表达式),编译器在编译程序时可以顺带将其结果计算出来,而无需等到程序运行阶段,这样的优化极大地提高了程序的执行效率。
参考链接:
2. unique_ptr 详解
参考链接:
3. shared_ptr详解
参考链接:
C++基础知识 - shared_ptr 使用详解 (C++11)
4. static_cast详解
参考链接:
5. 基类、派生类指针相关操作
参考链接:
6. 基类、派生类接口及实现继承
参考链接:
7. C++结构体初始化及赋值的形式
参考链接:
8. C++ vector相关操作
参考链接:
9. default函数
C++11 标准引入了一个新特性:default函数。程序员只需在函数声明后加上
=default;,就可将该函数声明为 default 函数,编译器将为显式声明的 default 函数自动生成函数体。解决以下问题:
- 减轻程序员的编程工作量;
- 获得编译器自动生成的默认特殊成员函数的高的代码执行效率
Default 函数特性仅适用于类的特殊成员函数,且该特殊成员函数没有默认参数。
参考链接:
10. 引用及const修饰
参考链接:
11. 函数后用const 修饰
函数后加const的三种情况:
1、 非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误)
2、 表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用),唯一的例外是对于mutable修饰的成员。
3 、 (1)加了const的成员函数可以被非const对象和const对象调用
(2)不加const的成员函数只能被非const对象调用
参考链接:
12. auto关键字
参考链接:
13. std::unordered_map
参考链接:
14. reinterpret_cast
参考链接:
15. deque
参考链接:
记录每天生活的点点滴滴,呵呵呵呵呵呵

浙公网安备 33010602011771号