析构函数调用(堆栈)变量之间的赋值?

Chr*_*imm 4 c++ destructor lifetime

matrix m1(5,5); 
matrix m2(5,5); 
m1 = matrix(m2); 
Run Code Online (Sandbox Code Playgroud)

对于上面的代码(对于任意类,矩阵),当m2的信息被复制到它时,是否会为与m1相关的信息调用析构函数?

das*_*ght 5

不,赋值运算符需要处理m1在执行赋值之前释放可能保留的任何资源.只有在m1即将超出范围时才会调用析构函数.