c++中返回vector时时返回地址码?
如题有个函数vector<int>Find();他返回的是地址?返回的是一个对象的话效率是不是比较低?若是的话有没有效率高的方法?返回叠代器可以吗?...
如题
有个函数 vector<int> Find();
他返回的是地址?
返回的是一个对象的话效率是不是比较低?
若是的话有没有效率高的方法?返回叠代器可以吗? 展开
有个函数 vector<int> Find();
他返回的是地址?
返回的是一个对象的话效率是不是比较低?
若是的话有没有效率高的方法?返回叠代器可以吗? 展开
2个回答
展开全部
不是,vector不是指针,不可能返回地址,返回的是一个拷贝的对象
返回对象,效率比较低,最好的解决方法是使用引用
void Find(vector<int> &a)
{
....代码
}
使用:
vector<int> a;
Find(a);
方法二,使用指针,不过要注意释放空间
vector<int> *Find()
{
vector<int> *a = new vector<int>;
...代码
return a;
}
使用:
vector<int> *a = Find();
...代码
delete a;//释放空间
两种方法都可以运行通过
返回对象,效率比较低,最好的解决方法是使用引用
void Find(vector<int> &a)
{
....代码
}
使用:
vector<int> a;
Find(a);
方法二,使用指针,不过要注意释放空间
vector<int> *Find()
{
vector<int> *a = new vector<int>;
...代码
return a;
}
使用:
vector<int> *a = Find();
...代码
delete a;//释放空间
两种方法都可以运行通过
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询