返回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,其它容器返回引用或对象都有此差异。
相关文章推荐
- 返回vector对象与引用的区别
- 重载=时返回对象引用与非引用的区别
- 返回对象和返回对象的引用的区别
- c++返回引用和返回对象的区别
- 赋值运算符重载函数 返回引用和返回对象的区别
- 类成员函数返回对象和返回引用的区别
- 函数返回对象和返回对象的引用的区别
- operator=返回对象和引用的区别
- 返回对象和返回对象的引用的区别···
- C++返回对象和引用的区别
- 条款21:必须返回对象object时,不要返回其引用reference
- 对象引用与对象的区别
- try{}catch{}finally{} 语句块中返回值顺序,Java 值传递引用传递的区别
- 结构体返回引用或值的小区别
- 对象赋值(=)、引用(&)、克隆(clone)的区别
- C++中引用返回和标准返回的区别
- 返回引用和对象遇到的坑
- c++primer plus第十二章-再谈new定位运算符和返回对象const的引用
- 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?