将列表转换为向量的最佳方法是什么?
我在考虑一个循环.但也许在C++ 11中有更好的方法?
#include <list>
#include <string>
#include <vector>
using namespace std;
list<string> list_string {
"one",
"two",
"three"
};
vector<string> vector_string;
for (auto item : list_string) {
vector_string.push_back(item);
}
Run Code Online (Sandbox Code Playgroud)
在C#中,我可以使用接受IEnumerable接口的构造函数初始化其他数据类型.很奇怪,如果C++ 11支持类似的东西......
Bar*_*rry 11
std::vector
(以及任何标准容器)的构造函数之一采用一对迭代器:
template< class InputIt >
vector( InputIt first, InputIt last,
const Allocator& alloc = Allocator() );
Run Code Online (Sandbox Code Playgroud)
所以你可以这样做:
vector<string> v(list_string.begin(), list_string.end());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
146 次 |
最近记录: |