vector<vector<float> >的使用方法有哪些?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector<vector<float> >的使用方法有哪些?相关的知识,希望对你有一定的参考价值。
急啊!容器的容器怎么用啊?比如它的初始化.现在它就相当于一个二维数组.增加或删除它的行或列又该怎么操作? 我一直就没搜到相关东东
先谢过~~
在c++中,vector是一个十分有用的容器。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。
使用vector需要注意以下几点:
1、如果你要表示的向量长度较长(需要为向量内部保存很多数),容易导致内存泄漏,而且效率会很低;
2、Vector作为函数的参数或者返回值时,需要注意它的写法:double Distance(vector<int>&a, vector<int>&b) 其中的“&”绝对不能少。
扩展资料
vector的基本操作:
(1)头文件#include<vector>
(2)创建vector对象,vector<int> vec;
(3)尾部插入数字:vec.push_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。
(5)使用迭代器访问元素
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;
(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
(7)删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始。
参考技术A 给你一个例子,没有注释的,但运行后你就应该知道怎么用了:#include<vector>
#include <iostream>
using namespace std;
void main()
vector<float> vf0;
vf0.push_back( 1.0 );
vf0.push_back( 1.1 );
vector<float> vf1;
vf1.push_back( 2.0 );
vf1.push_back( 2.1 );
vector<vector<float> > vff;
vff.push_back(vf0);
vff.push_back(vf1);
for ( int i = 0; i < vff.size(); i++)
for ( int j = 0; j < vff[i].size(); j++)
cout << "vff[" << i << "][" << j << "] = " << vff[i][j] << endl;
本回答被提问者采纳 参考技术B 下面是我给你写的一个例子
在Linux下面g++编译 运行结果是这样的:
root@ubuntu:~/workspaces/temp# g++ -o cplus cplus.cc
root@ubuntu:~/workspaces/temp# ./cplus
10
11
结果通过
注意 vector< vector<float> > 第一个<>中的vector<float>前后
要有空格
//##############################################
#include <vector>
#include <iostream>
using namespace std;
int main(void)
vector< vector<float> > vfs;
vector<float> vs ;
vs.push_back(10.0);
vs.push_back(11.0);
cout<<vs[0]<<endl;
vfs.push_back(vs);
vector<float> vs_ref = vfs[0];
cout<<vs_ref[1]<<endl;
return 0;
参考技术C 给你一个例子,没有注释的,但运行后你就应该知道怎么用了:
#include
#include
using
namespace
std;
void
main()
vector
vf0;
vf0.push_back(
1.0
);
vf0.push_back(
1.1
);
vector
vf1;
vf1.push_back(
2.0
);
vf1.push_back(
2.1
);
vector
>
vff;
vff.push_back(vf0);
vff.push_back(vf1);
for
(
int
i
=
0;
i
<
vff.size();
i++)
for
(
int
j
=
0;
j
<
vff[i].size();
j++)
cout
<<
"vff["
<<
i
<<
"]["
<<
j
<<
"]
=
"
<<
vff[i][j]
<<
endl;
参考技术D 取vector
a的第3个元素:auto
p
=
a[2];
//得到一个pair
取pair的第二个元素:int
i
=
p.second;
结合一下:int
i
=
a[2].second;
以上是关于vector<vector<float> >的使用方法有哪些?的主要内容,如果未能解决你的问题,请参考以下文章
从 vector<float> 切换到 vector<short> 时出错
在 C++ 中将 vector<Rect> OpenCV 转换为 vector<vector<float>>
如何在 .NET 中将 Vector128<float> 转换为 Vector128<int>?
如何使用 Eigen 从 vector<vector<float>> 创建矩阵? [复制]