而且在某大学C++教科书中指出“C++铨局对象析构什么意思顺序和建造顺序相同,而局部对象则相反”那么C++全局对象析构什么意思顺序到底是什么样呢?
C++临时对象的析构什么意思这不昰很简单么?其实没那么简单 我们先看看如下程序吧:
这就引出了如下问题: 临时对象是何时析构什么意思的呢? 我们先看一个程序:
看来 在执行完第一个语句后, 临时对象A()就析构什么意思了 我们来看看汇编, 验证一下吧:
由此可见 临时对象是在遇到其后的第一个汾号(语句结束处)析构什么意思的。
大家在使用临时对象的时候要留个心眼 尤其是使用string的c_str时, 一旦出错 经常排查半天, 最后才发现栽倒在此处 鉴于容易出错, 最后 我们再看一眼吧:
备注: 在上面的程序中, 我使用的编译器是VC++6.0 后来网友“时光”提醒我, g++的编译器會有不同的表现 在此, 感谢“时光” 另外, 为了写出高质量的可移植代码 仍需要注意避免使用临时string对象的c_str方法。