引用的声明周期结束时,并不会调用析构函数,只有本体的声明周期结束时,才会调用析构函数

Posted xiaoxiaoshuai-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引用的声明周期结束时,并不会调用析构函数,只有本体的声明周期结束时,才会调用析构函数相关的知识,希望对你有一定的参考价值。

example

 1 class Test
 2 {
 3 public:
 4     Test() { cout << "construct" << endl; }
 5     ~Test() { cout << "destruct" << endl; }
 6 };
 7 
 8 int main()
 9 {
10     Test t1;
11     {
12         Test& t2 = t1;
13     }
14     cout << "............................." << endl;
15     return 0;
16 }

结果:

技术图片

 

以上是关于引用的声明周期结束时,并不会调用析构函数,只有本体的声明周期结束时,才会调用析构函数的主要内容,如果未能解决你的问题,请参考以下文章

析构函数 声明为protected

C++ 析构函数何时被调用?

C++ 析构函数何时被调用?

析构函数小结

在调用析构函数之前对象的生命周期已经结束?

C++ 设置基类的析构函数为虚函数