初始化"/>
C++(20):构造过程指定初始化
C++20允许不使用构造函数,而是在构造过程中直接指定成员进行初始化
#include <iostream>
#include <string>
using namespace std;class A
{
public:int a;string b;
};void pA(const A& a)
{cout<<a.a<<" "<<a.b<<endl;
}
int main()
{A a1{.a = 5}; //直接初始化成员aA a2{.b = "hi"}; //直接初始化成员bA a3{.a = 88, .b = "bye"}; //直接初始化成员a和b,顺序必须与声明的顺序一致pA(a1);pA(a2);pA(a3);return 0;
}
运行程序输出:
5
0 hi
88 bye
指定初始化有一个限制,就是仅能应用于不包含( 构造函数、private和protect、基类、虚函数 )的类、结构体和联合体等聚合对象。
更多推荐
C++(20):构造过程指定初始化
发布评论