
1、c++里面vector对象也可以像一般类型那样被复制的,不过很多时候会造成效率损失,函数返回vector是可以的。
2、例程:
#include <iostream>#include <vector>
using namespace std;
typedef vector<int> vec;
vec foo()
{
return vec(10, 1);
}
int main()
{
vec v(foo());
for(int i = 0; i < vsize(); ++i)
cout << v[i] << ' ';
}
//c++0x以后会加入一个叫做 “右值引用” 的新概念,可以减少上面代码效率的损失:
vec& foo() // c++ox以后这里直接返回foo里创建变量的引用,而不用担心vec会在出foo后被析构
{
return vec(10, 1);
}
1、思路
可以首先利用length函数,得到vector的长度;然后最后一个元素即对应[长度-1]的元素的位置。
2、代码如下:
int length=vector1length();string str=vector1[length-1];
vector<int >这样vector里面的元素是指针,指向外面的空间,在这里所有元素指向a[]数组,它们共享空间。造成这种情况。
可以修改成:
class pos
{
public:
int x, y;
pos(int xx, int yy):x(xx),y(yy){}
};
vector<pos> Position;
这样压入新坐标时可以
Positionpush_back( pos(2, 3));就压入一个新坐标(2,3)
Position[i]x来访问横坐标
以上就是关于C++中怎样用vector函数返回多Vector的值全部的内容,包括:C++中怎样用vector函数返回多Vector的值、VC/MFC vector 如何得到vector中的最后一个元素、c++ Vector中如何显示数组元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)