如何使用相同的数据初始化两个或更多结构?这必须在编译时完成,作为非成员全局变量的const结构的默认数据。
编辑: 那C呢呢?
答案 0 :(得分:3)
适合我:
// header
struct Foo {
int a;
int b;
};
extern Foo const x;
extern Foo const y;
// cpp file
Foo const x{2, 3};
Foo const y = x;
编辑:稍微重新解释一下这个问题。
答案 1 :(得分:0)
一种方法是:
#define DATA { bla,bla,bla,bla }
var a = DATA;
var b = DATA;
答案 2 :(得分:0)
您可以使用复制构造函数初始化结构。 (这需要使用辅助函数来确保正确的初始化顺序。)如果结构是POD,这应该与常规编译时初始化一样有效:
struct A {
int a;
double c;
};
A initial_data() {
return { 1, 2.0 };
}
A a = initial_data();
A b = initial_data();