c++primer第四版讲智能指针时在定义HasPtr类的赋值操作符时为什么既使使用计数加一又减一
可不可以举个具体例子说明一下,说明一下如果不这样做会怎样,请问是不是被赋值的对象已经存在。还有,赋值操作符不是应该返回右操作数吗,为什么好像很多返回左操作数*this
2011-03-19 14:01
2011-03-19 15:13

2011-03-19 17:22
2011-03-20 19:41
程序代码:
class A
{
public:
A()
{
cout<<"这是构造函数"<<endl;
}
A(const A& a)
{
cout<<"这是拷贝构造函数"<<endl;
}
A& operator=(const A& a)
{
cout<<"这是赋值重载函数"<<endl;
return *this;
}
};
int main()
{
A a;
A b;
a=b;
A c=a;
return 0;
}

2011-03-20 21:02
2011-03-20 22:50