在C ++ 17中为变量赋值的新方法?

在C ++ 17中,引入了两种新方法,程序员可以通过这些新方法将值分配给变量或声明变量。在此更新中,elser然后使用以下两种初始化值的经典方法将值分配给变量。

经典方法

最初,赋值运算符'='用于变量的赋值和声明。使用=分配变量看起来像,

datatype variable_name = value;

例,

int val = 243;

新方法

统一初始化

在变量的统一初始化中,我们不使用“ =”运算符。该值包含在一对大括号“ {}”中。这对花括号内的值将传递给变量。

语法

data_type variable_name{ value};

示例

#include <iostream>
using namespace std;
int main() {
   cout<<"Declaring Values using uniform initialization \n";
   int val1{ 367 };
   cout << "val1 = " <<val1<<endl;
   int val2 = { 897 };
   cout << "val2 = " << val2<<endl;
   return 0;
}

输出结果

Declaring Values using uniform initialization
val1 = 367
val2 = 897

构造函数初始化

将值分配给变量的另一种方法。在变量的构造函数初始化中,我们使用一对括号代替=运算符。变量的值放在一对括号()内

语法

data_type variable_name(values);

示例

#include <iostream>
using namespace std;
int main() {
   cout<<"Declaring Values using constructor initialization \n";
   int val1( 367 );
   cout << "val1 = " <<val1<<endl;
   int val2 = ( 897 );
   cout << "val2 = " << val2<<endl;
   return 0;
}

输出结果

Declaring Values using constructor initialization
val1 = 367
val2 = 897