对象引用跟对象接收对象数组的时候有什么区别
对象引用和对象接收对象数组的时候有什么区别?
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
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