gpt4 book ai didi

包含数组的结构的 C++ 初始化

转载 作者:行者123 更新时间:2023-11-30 00:41:06 26 4
gpt4 key购买 nike

我的结构或多或少遵循这种模式:

struct sTruct {
int count;
struct {
int A;
int B;
int C;
} array[]; //count is the size of this array
};

我希望能够使用类似于以下语法的内容来初始化它们:

sTruct gInit1 = { 2, { {1,2,3},{4,5,6} }};

实际上,初始化语法(或者更确切地说,它的紧凑性)比特定的结构布局更重要。我无权访问标准容器(嵌入式平台),但如果需要,我可以复制它们的一些行为。

在最终形式中,我想一次初始化大约 300 个这样的结构容器的数组,只是为了再添加一层括号。

最佳答案

你做不到。如果你给数组一个大小,你可以。一个替代方案可能是:

template < int size >
struct sTruct
{
struct { int a, int b, int c } array[size];
};
sTruct<2> gInit1 = {{1,2,3},{4,5,6}};

但是,当然,您所有的结构都是不同的类型,因此它可能不是您想要的。您唯一的其他选择将必须是基于自由存储的,并且在 0x 中的初始化列表之前不会为您提供该语法。

关于包含数组的结构的 C++ 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4473045/

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