c++ - 如何将所有元素从列表移动到数组或向量或其他任何东西
问题描述
我在女巫中提出了一个 c++ 问题,我必须编写一个带有列表的函数。问题是我根本不懂列表,因为我不知道如何使用指针或迭代器。有什么方法可以将该列表中的所有元素移动到数组或向量中?这会让我的生活更轻松。
解决方案
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));
推荐阅读
- python-3.x - 性能问题:查找 python 字典的子值,如果它匹配另一个值
- python - 我收到此错误。我无法解决此问题
- python-3.x - (n%2==1) 是否总是表示 n 是奇数?
- excel - 条件格式,如果单元格包含 2 个单元格中的特定文本,则突出显示单元格
- python - 使用 Gridfs 将 base64 字符串图像存储到 MongoDB
- php - 从百分比计算发生的事件
- python - 将理解列表打印为字符串
- javascript - 记忆游戏中的setTimeout
- python - 带有请求的 Python 自动结帐
- python - 我可以在 keras 中对部分模型运行指标吗?