对象引用跟对象接收对象数组的时候有什么区别

对象引用和对象接收对象数组的时候有什么区别?
本帖最后由 wxf041041 于 2013-01-24 16:49:14 编辑
class CA  
{
public:
    CA();
    virtual ~CA();
};


int main()
{
       CA a1;
       CA a2;
       CA a3;

       std::vector<CA> vecA;
       vecA.push_back(a1);
       vecA.push_back(a2);
       vecA.push_back(a3);

       CA& obj1 = vecA[1];
       CA  obj2 = vecA[1];

}


用obj1接收和用obj2接收有什么区别,它们之间哪个好? 为什么?



------解决方案--------------------
 CA& obj1 = vecA[1];
       CA  obj2 = vecA[1];

没有哪个好哪个不好的说法、看你怎么用咯 
第一种是引用 操作obj1就是对vecA[1]的操作、赋值不会产生多余的副本和内存消耗

第二种就是把vecA[1]的值拷贝一份给obj2