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,其它容器返回引用或对象都有此差异。
返回vector对象与引用的区别
最新推荐文章于 2025-03-03 00:01:30 发布