首页 > 解决方案 > 如何将所有元素从列表移动到数组或向量或其他任何东西

问题描述

我在女巫中提出了一个 c++ 问题,我必须编写一个带有列表的函数。问题是我根本不懂列表,因为我不知道如何使用指针或迭代器。有什么方法可以将该列表中的所有元素移动到数组或向量中?这会让我的生活更轻松。

标签: c++list

解决方案


std::vector<T> v;
std::copy(std::begin(l), std::end(l), std::back_inserter(v));

您的“列表”在哪里l(我假设您的意思是 C 样式数组)并且T是列表中事物的类型。请注意,这会复制元素而不是移动它们,但如果它们是基本类型,则无论如何都不能移动它们。

正如 Ted Lyngmo 所指出的,std::vector 实际上已经有一个构造函数:

std::vector<T> v(std::begin(l), std::end(l));

推荐阅读