type
status
date
slug
summary
tags
category
icon
password
Modern C++
Modern C++指的是C++11/C++14/C++17/C++20等版本,新增和改进了C++语法,提升开发效率.
nullptr
nullptr是用来替换NULL的
constexpr
常量表达式
if/switch 变量声明强化
即判断条件中可以直接声明临时变量.
初始化列表
C++11之前的版本初始化比较麻烦,需要写一些无用代码,这之后比较灵活,可以按照上面的方式进行初始化.
结构化绑定
即多返回值的封包/拆包,在Python,Go,Kotlin中比较常见.
auto
即类型推断,不用每个变量声明都声明类型.
需要注意的就是:auto不能用于函数传参,也不能用于推导数组类型
decltype
auto只能用于变量的类型推断,decltype则对表达式类型推断做了补充.
区间for迭代
模板
将一切能在编译期解决的问题放在编译期解决,仅在运行时处理核心的动态服务.
外部模板
其实就是一个实例化时机的问题.
类型别名模板
模板是用来生成类型的.
类型别名一般这样用:
对于复杂一点的就显得很难看,可以使用
using
:委托构造
没什么好说的,其他语言在设计的时候就已经支持了.
继承构造
overide , final
这两点也没什么好说的,其他语言早就支持了.
Lambda
值捕获
引用捕获
范型Lambda
函数对象包装器
如果不使用
std::fucntion()
是这样子的:使用了之后是这样的:
- 作者:姜康
- 链接:https://jiangkang.tech/article/7dbd0838-8cd8-417e-8350-1fbd43234503
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。