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()是这样子的:
使用了之后是这样的:
XML文件解析CMake的简单使用说明
Loading...