如何在 C++11 中启动具有相同值的向量的向量
How can I initiate vector of vectors with the same value in C++11?
我知道,如果我想启动一个具有相同值的向量,我可以简单地执行以下操作
vector<double> bcd= vector<double>(10,88);
这将生成一个包含 10 个元素的向量,每个元素等于 88。
但是我怎样才能启动一个所有元素都等于 88 的向量?
vector< vector<double> > abc = vector< vector<double> >(???, ???);
非常感谢!
std::vector< std::vector<double> > abc(10, std::vector<double>(10,88) );
我相信这浪费了一个std::vector<double>(10,88)
。 并且副本的效率可能低于使用 88
直接初始化双精度。
template<class T, class...Args>
std::vector<T> generate_vector( std::size_t count, Args&&...args ) {
std::vector<T> r;
r.reserve(count);
for (std::size_t i = 1; i < count; ++i)
r.emplace_back(args...);
if (count)
r.emplace_back(std::forward<Args>(args)...);
return r;
}
然后
auto abc = generate_vector<std::vector<double>>( 10, 10, 88 );
没有任何浪费。
相关文章:
- 在 C++11 中,如何查找并返回以给定字符串开头的字符串向量中的所有项?
- C++11 迭代向量的新方法?
- 如何在 C++11 中查找和更新向量中的一个嵌套结构
- 在 C++11 及更高版本中,有没有办法初始化初始值设定项列表中的向量?
- C++11,仅将一个字段复制到向量中
- C++11-在结构向量中修改结构的成员
- 分割错误:使用向量时为 11 c++
- C++11 向量包含 2 个不同的子类,但不能同时进行
- 标准向量之上的 C++11 包装类
- 如何使用 c++11 语法创建 for 循环以遍历向量
- 如何在 C++11 中启动具有相同值的向量的向量
- C ++ 11,为什么为向量定义unordered_map这个不起作用<int>?
- 将元素从C 11线程安全地添加到向量中
- 使用GCC v4.8在Ubuntu 14.04上定义C 11中元组向量时的编译错误
- 在 C++11 中计算字母和单词的双字母组合的 std::线程向量的问题
- 如何在C++中对向量进行排序和排名(不使用 C++11)
- 尝试加载DirectX 11中的obj文件时,向量下标
- 如何创建另一个类 struc 的向量?(C++11)
- 访问向量 c++11 中的引用包装元素
- 向量C++11的范围基和插入