文章目录
- 0 背景
- 1 内容
0 背景
因为C++11、14、17等相对与C++98来说,发生了巨大的改变,比如右值引用、可变模版参数、自动化类型推导、lambda、智能指针、tuple、Initialization_list等。可以说如果不了解C++2.0,可能看到这些特性编写的程序,就仿佛看到一门新语言一样。这些新的特性,并没有使得程序变得更加复杂,反而是使得程序更容易编写(如可变模版,可传递不限定的参数个数),并且提升了程序的效率(如右值引用,减少参数拷贝的时间消耗)。因此我觉得很有有必要了解并使用这些特性。
本片博文就是参考候捷老师的C++11新特性的视频和《Effective Modern C++》的内容,进行总结和编写的。
1 内容
讲数 | 心得 |
分类 | auto、decltype |
第一讲 | 自动类型推导 |
分类 | 现代C++ |
第二讲 | 空指针使用nullptr、NULL还是0 |
第三讲 | 使用别名声明,而非typedef |
第四讲 | 枚举类型优先使用限定作用域 |
第五讲 | 创建对象时区分()和{} |
第六讲 | 优先选择删除函数,而非private未定义函数 |
第七讲 | 只要函数不发射异常,就添加noexcept声明 |
第八讲 | 管理函数是否改写添加overide或final |
第九讲 | 尽可能的使用constexpr |
第十讲 | 优先选用const_iterator(C++11/14) |
第十一讲 | 保证const成员函数的线程安全 |
第十二讲 | 理解特种成员的生成机制 |
第十三讲 | 智能指针(unique_ptr、shared_ptr、weak_ptr、auto_ptr) |
第十四讲 | 底层源码剖析移动、右值、完美转发 |
第十五讲 | lambda使用以及避坑 |
第十六讲 | 并发API使用 |
分类 | 补充 |
第xx讲 | 知识点补充 |
第…讲 | 未完待续 |