因此,如果我的对象没有通过引用传递,则析构函数会被调用两次。但是当我通过引用传递它时,一切都很好。
<!-- language: lang-cpp -->
ostream& operator<<(ostream& os,Counter_naslednik_1 &object){
cout<<endl<<object.date<<endl;
return os;
}
//-----------------
void main(){
Counter_naslednik_1 new_object;
cout<<new_object;
}
为什么析构函数被调用两次?在将对象作为参数传递给重载运算符时,为什么要通过引用传递对象?