我正在寻找无限容器(只要我有足够的空间,我就可以在运行时添加元素),例如' vector'或者'链接列表'有一个接受另一个容器并复制其元素的方法。
有这样的事吗?
答案 0 :(得分:8)
您可以使用std::copy
和back_inserter
迭代器将一系列值插入任何可变大小的标准容器中。
std::vector
也有一个接受范围的插入重载。
参见Appending a vector to a vector,除了向量之外,答案实际上可用于容器。
答案 1 :(得分:1)
vector
支持此功能,请完成构造函数:
template <class InputIterator>
vector ( InputIterator first, InputIterator last,
const Allocator& = Allocator() );
和
std::vector<int> source;
//populate source
std::vector<int> dest(source.begin(),source.end());