📅  最后修改于: 2023-12-03 15:13:53.832000             🧑  作者: Mango
在 C++ 17 中,引入了一种新的给变量赋值的方式,可以使代码更加简洁易读。下面将对这个新方法进行介绍。
在 C++ 17 中,可以使用初始化语句来初始化变量。初始化语句是一条语句,包含一个变量和一个初始化器列表。
int x { 1 };
在这个例子中,x 是一个整型变量,初始值为 1。
使用初始化语句初始化数组变量也很方便。例如:
int arr[] {1, 2, 3, 4, 5};
在使用初始化语句时,编译器可以从初始化器列表中推导出变量的类型。例如:
auto x {1}; // x 的类型为 int
auto y {"foo"}; // y 的类型为 const char*
在这个例子中,x 和 y 的类型都是根据初始化器列表中的值推导出来的,而不需要显式声明变量的类型。
在 C++ 17 中,可以使用后缀 _v 来代替 bool 类型的 true 和 false。这样做可以减少代码中的重复字符,使代码更加简洁易读。
if constexpr (std::is_void_v<T>) { ... }
在这个例子中,std::is_void_v
在 C++ 17 中,初始化语句和类型推导可以使代码更加简洁易读。后缀 _v 可以减少代码中的重复字符,使代码更加简洁。虽然这些新特性并不会改变程序的功能,但它们可以使代码更容易理解和维护。