📜  C++ 17 |给变量赋值的新方法(1)

📅  最后修改于: 2023-12-03 15:13:53.832000             🧑  作者: Mango

C++ 17 | 给变量赋值的新方法

在 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 的类型都是根据初始化器列表中的值推导出来的,而不需要显式声明变量的类型。

后缀 _v

在 C++ 17 中,可以使用后缀 _v 来代替 bool 类型的 true 和 false。这样做可以减少代码中的重复字符,使代码更加简洁易读。

if constexpr (std::is_void_v<T>) { ... }

在这个例子中,std::is_void_v 的返回值为 bool 类型,代表 T 是否为 void。使用后缀 _v 可以使代码更加清晰。

结论

在 C++ 17 中,初始化语句和类型推导可以使代码更加简洁易读。后缀 _v 可以减少代码中的重复字符,使代码更加简洁。虽然这些新特性并不会改变程序的功能,但它们可以使代码更容易理解和维护。