结构数组的数组
Array of array of structs
是否可以声明一个由其他数组(具有可变大小)组成的数组,该数组由C++中的结构组成?如果有一种简单有效的方法(使用 for)来迭代数组元素内的所有结构,那就太好了。
结构定义如下:
struct Number
{
int x;
int y;
};
例如,数据如下所示:
{
{ {0,0}, {0,1} },
{ {0,0}, {0,1}, {1,0}, {0,0} },
{ {0,0}, },
{ {0,0}, {4,0} }
}
我想将其用于由Arduino Uno,以太网屏蔽,RTC和LED阵列组成的自制时钟。解决方案不应使用超过所需的内存。这就是为什么我不使用二维数组。
您可以使用
Standard C++ For Arduino。它实现了std::vector
有了它,您可以使用向量的向量
struct Number
{
int x;
int y;
};
using MultiNum = std::vector<std::vector<Number>>;
但是,值得注意的是,Arduino的内存确实很小,您应该确实对内存使用量有上限。vector
vector
而不巧妙地使用reserve
可能会浪费一些内存......
另一种选择是:
Number x[][4] =
{
{ {0,0}, {0,1} },
{ {0,0}, {0,1}, {1,0}, {0,0} },
{ {0,0}, },
{ {0,0}, {4,0} }
};
原因,这决定了编译时消耗的固定内存。(Number
的 4x4 矩阵)。
是的,Number* var[];
或Number** var;
。结案:)
编辑:哦,你换成了C++...而不是省去头疼并使用std::vector。井。。。您甚至可以在 C 中制作自己的 Vector,但不能使用模板。
如果您关心的是内存,您可以随时声明Number **var
并在需要时手动分配和重新分配空间。
相关文章:
- 从函数中全局删除并重新实例化数组结构,而无需在编译时知道数组的大小
- 如何使用函数的输出初始化 const 数组结构字段?
- 传递数组结构、ofstream 和 interger 以运行
- 从文本文件中读取并输入到数组结构中,然后显示读取的数据C++
- 将文本文件读取到数组结构中
- C/C++中数组结构和数组结构的通用接口
- C++ MDC final-在字符类型的数组结构中按字母顺序对记录中的名称进行排序
- C++ 使用数组结构创建平衡的二叉搜索树
- C++:释放动态数组(结构成员)和指向此结构的指针的方法
- 使用 vector 在 c++ 中声明 3D 数组结构
- 数组结构无法正确打印
- 如何在C++中访问数组结构内部的数组结构
- CIN进入数组结构似乎什么也没输入
- ifstream将数组结构到txt文件中,然后尽可能将其提取为数组
- wlanapi-将WlanFreeMemory释放其WLAN_INTERFACE_INFO数组结构
- 显示数组结构 c++
- C++ 使用函数访问数组结构的方法是什么?
- 将庞大的数组结构复制到 GPU
- 如何封送包含字符矩阵的数组结构
- C++多维数组结构的对齐