gpt4 book ai didi

c++ - 初始化所有结构成员

转载 作者:搜寻专家 更新时间:2023-10-31 02:14:20 24 4
gpt4 key购买 nike

这个问题涉及任何 C++ 普通数据定义,其中有一个构造函数将所有数据成员作为参数并对其进行初始化。过度扩展初始化列表的唯一原因是为了防止只指定部分结构的错误。

这是编写这种结构的典型方法:

struct Struct {
A a;
B b;
C c;
Struct(A a, B b, C c) : a(a) , b(b), c(c) {}
};

值得注意的是,每个成员的类型都写了两次,名字写了四次。实际上,这意味着此类结构的代码相当可压缩。有没有更短的方法可以用 C++ 编写此结构?

最佳答案

如果您的结构不包含任何指针,您可以在 C++11 中使用聚合初始化器。

#include <iostream>
using namespace std;

struct xxx {
int a, b, c;
};

int main() {
// your code goes here
xxx x{1,2,3};
cout << x.a << x.b << x.c;
return 0;
}

关于c++ - 初始化所有结构成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40055144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com