求大佬看看 这段代码的运行结果是什么

求大佬看看 这段代码的运行结果是什么

类型A的构造函数输出2,析构函数输出11

先定义a,调用构造函数,输出2

再调用f(),

        定义c,调用构造函数,输出2

        输出a

        c释放,调用析构函数,输出11

定义b,调用构造函数,输出2

return,程序退出,a和b释放,输出两个11

 

所以最后输出:22a1121111

先输出a构造函数的2

f()里面的c构造函数2, 以及字符a, 析构函数的11

b构造函数2

b析构函数11

a析构函数11