向量的正确处理
在 C 中,向量是用于存储对象集合的强大容器。但是,尝试直接在向量中存储数组可能会导致错误,如声明浮点数组向量 (向量
此问题出现这种情况是因为数组本质上不支持作为容器元素。容器要求其存储的元素是可复制构造和可分配的,但数组不能满足这些要求。
解决方案:利用数组类模板
要克服此限制,建议使用数组类模板而不是原始数组。 Boost、TR1 和 C 0x 等 C 库提供了数组模板,可提供复制构造性和可分配性。
例如,使用 C 0x 提供的数组类模板:
std::vector<std::array<double, 4>>
或者,您可以利用 C TR1 或 Boost 中包含的阵列模板库:
std::vector<std::tr1::array<double, 4>> // or std::vector<boost::array<double, 4>>
自定义数组类(可选)
如果需要,您还可以创建自己的数组类来实现复制构造和赋值,确保与容器的兼容性用法。
以上是如何在 C 向量中正确存储数组?的详细内容。更多信息请关注PHP中文网其他相关文章!