您的位置:首页 > 其它

返回vector对象与引用的区别

2011-11-29 21:20 295 查看
struct tagItem
{
int a;
int b;
}
//假如在A类中定义成员:
vector<tagItem> m_vecItem;
vector<tagItem> A::f()
{
return m_vecItem;//tagItem需要定义拷贝构造函数,否则m_vecItem即使在别处push_back了,每一个元素的a,b成员不会拷贝过去而保持初值(0之类的值)
}

vector<tagItem>& A::f()
{
return m_vecItem;
}


因为stl容器都是基于拷贝,故不仅是vector,其它容器返回引用或对象都有此差异。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: