有人知道定义恒定大小向量的方法吗?
例如,而不是定义
std::vector<int>
这将是
std::vector<10, int>
它应该是完全跨平台的。也许是一个开源课程?
原文由 Iron-Eagle 发布,翻译遵循 CC BY-SA 4.0 许可协议
这—-> std::vector<10, int>
无效并导致错误。但是新的 C++ 标准引入了一个新的类;标准::数组。你可以像这样声明一个数组:
std::array<int, 5> arr; // declares a new array that holds 5 ints
std::array<int, 5> arr2(arr); // arr2 is equal to arr
std::array<int, 5> arr3 = {1, 2, 3, 4, 5}; // arr3 holds 1, 2, 3, 4, 5
std::array
具有恒定大小并支持 iterator/const_iterator/reverse_iterator/const_reverse_iterator
。你可以在 http://cplusplus.com/reference/stl/array/ 找到更多关于这个类的信息。
原文由 Rontogiannis Aristofanis 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
std::vector 总是可以动态增长,但有两种方法可以分配初始大小:
这会分配初始大小并用零填充元素:
这会分配一个初始大小,但不会用零填充数组: