您可以创建一个包含数组的 C++ 结构:
struct foo{
int bar[42];
};
我想做的是:
struct foo{
std::vector<int> bar(42);
};
当然这不会编译,但你明白了。我知道 .reserve() 等,但我希望在声明 .reserve() 时已经分配了空间foo
。
原因是我应该修改一个相当复杂的 Perl 脚本,该脚本在结构中生成带有数组的 C 代码。这些数组应替换为std::vector
s。该脚本随后根据 XML 文件初始化数组,我不想push_back
在脚本中乱用,因为结构是深度嵌套的(数组结构和结构数组)。数组的大小当然会有所不同。
感谢您的建议。