class A A& operator=(const A& a) void main() }
輸出:
construct Copy
Copy
destruct
===
destruct
destruct
程序員間交談時(shí),經(jīng)常把僅僅需要一小段時(shí)間的變量稱為臨時(shí)變量。例如在下面這段swap(交換)例程里: template<class T> void swap(T& object1, T& object2) { T temp = object1; object1 = object2; object2 = temp; }
通常把temp叫做臨時(shí)變量。不過(guò)就C++而言,temp根本不是臨時(shí)變量,它只是一個(gè)函數(shù)的局部對(duì)象。 在C++中真正的臨時(shí)對(duì)象是看不見(jiàn)的,它們不出現(xiàn)在我們的源代碼中。建立一個(gè)沒(méi)有命名的非堆(non-heap)對(duì)象會(huì)產(chǎn)生臨時(shí)對(duì)象。這種未命名的對(duì)象通常在兩種條件下產(chǎn)生:為了使函數(shù)成功調(diào)用而進(jìn)行隱式類型轉(zhuǎn)換和函數(shù)返回對(duì)象時(shí)。理解如何和為什么建立這些臨時(shí)對(duì)象是很重要的,因?yàn)闃?gòu)造和釋放它們的開(kāi)銷對(duì)于程序的性能來(lái)說(shuō)有著不可忽視的影響。 |
|
來(lái)自: sky_feiyang > 《C 》