【发布时间】:2013-07-06 05:07:01
【问题描述】:
我有一个如图所示的整数数组:
int ia[] = {1, 2, 3, 4, 5, 6};
我想将其转换为 list<int> 和 vector<int>。我想到的明显方法是遍历数组,并将元素添加到list<int> 和vector<int>:
for (auto val: ia) {
ilist.push_back(val);
ivec.push_vack(val);
}
我只是想知道,是否还有其他方法,可能有任何可用的库函数?
【问题讨论】:
-
顺便说一句,
std::list很少是正确的容器。虽然乍一看它看起来像“只需要迭代时应该使用的顺序容器”,但实际上它是“当您需要迭代器来长期保存时应该使用的顺序容器,或者在您执行更多数量级的插入时应该使用的顺序容器/删除中间而不是迭代”。与std::vector相比,它在性能和功能上都存在缺陷——它使用更多内存并且速度更慢。 -
感谢@yakk 的宝贵建议。会记住的:)
标签: c++ arrays list c++11 vector