为什么赋值操作调用的是单参构造函数?
class WhoWillBeCall{public: WhoWillBeCall() { printf("default param Constructor\n"); m_i=1; }; ~WhoWillBeCall(){}; WhoWillBeCall(int i) { printf("single param Constructor\n"); }; WhoWillBeCall &operator=(int &ref) { printf("operator = "); return *this; } int m_i;};WhoWillBeCall test;test = 1;
default param Constructorsingle param Constructor
WhoWillBeCall &operator=(int &ref)
WhoWillBeCall &operator=(const int &ref)
default param Constructoroperator =