向量矢量C
Vector Vector C ++
本文关键字:向量 更新时间:2023-10-16
向量向量c 嗨,我不了解嵌套向量的语法以模拟数组,我有以下代码。
vector< vector< float> > myvector (n, vector < float> (2));
,但我不太了解它的工作原理,尤其是在指定向量的大小和其中的向量的地方,如果您想制作调整大小以使我的向量向量向量有指定的维度,我该如何调整内部向量大小?例如将vec [10] [2]
更改为vec [10] [5]
(更改第二维)
除了如何使用多维矢量制作副本之外:
vector< int> myvector (myVectorToCopy, myVectorToCopy+myVectorToCopy.size());
但有几个维度。谢谢。
vector<vector<float>>
表示您正在创建包含浮子向量的向量。构造函数参数意味着您正在创建一个大小 n
的向量,其中每个元素的每个元素都是具有尺寸2的浮子的向量。
调整vector<vector<float>>
:
for (int i = 0; i < n; ++i)
A[i].resize(newSize);
或者您可以使用:
A.assign(n,vector<float>(newSize));
制作多维矢量使用构造函数的副本:
vector<vector<float>> B(A);
C 中的向量将自动调整大小,如果您填充它们并尝试为它们添加更多内容。如果您知道矢量的确切大小,我建议您切换到std::array
,但是您将失去调整它们大小的能力。
std::vector::operator[]
具有一个过载,可以返回用于创建模板的T
的引用(在您的情况下,T
是std::vector
,嵌套了)。如果您知道外部向量中的索引,则可以做类似的事情:
myVec[0].resize(5);
这将调整您的嵌套向量在位置0到5个元素。
复制与访问:
大致相同std::copy(std::begin(VecToCopy), std::end(VecToCopy), std::begin(VecToFill));
使用std::begin
最后可能不是您想要的,而只是一个例子。
http://en.cppreference.com/w/cpp/algorithm/copy
http://en.cppreference.com/w/cpp/container/array
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 计算排序向量的向量中唯一值的计数
- 矩阵向量乘法(cublasDgemv)返回零
- 一对向量构造函数:初始值设定项列表与显式构造
- 将结构向量排序为子组
- 在C++中调整向量中的索引
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么