C 中返回值為 類物件 詳解

2021-10-10 22:19:43 字數 755 閱讀 999

c++中返回值為 類物件 詳解

**如下:

#include

using

namespace std;

//建乙個test類

class

test

test

(int aa,

int bb)

test

(const test& t)

void

print()

~test()

private

:int a;

int b;};

//以下為幾個方便說明的操作函式

test g()

void

play1()

void

play2()

void

play3()

//主函式

intmain()

執行效果

呼叫此句時,g()呼叫部分與上例相似,不同的是g()傳回來的引數給t1這個物件初始化,編譯器在處理這句話時並沒有建立乙個新的物件來接受g()返回來的匿名物件的值,而是採取了優化,直接將這個匿名物件扶正,給其乙個名字叫t1,所以匿名物件沒有析構,隨後可以列印t1(),當play2()函式結束時,才會將t1析構掉

參考:區別是深拷貝需要通過拷貝建構函式實現,淺拷貝 不需要。

c 返回值為引用

與返回原值的區別 return的位址和返回值的位址是同乙個,也就是佔據著同一塊記憶體,因此要求此時return的東西必須是乙個實體 有儲存位址 不能是乙個作用域僅在函式中的區域性變數 例如 int fun a fun 就會報錯。因為a找不到它應該存在的位址在 int fun int c a fun ...

C語言函式返回值為指標和函式返回值為void

有時遇到函式返回值為空和函式返回值為指標的情況下,需要在前面定義該函式 函式的返回值為指標也必須在此定義,函式的返回值為void必須在此定義,返回值是整形或者其他基本型別不需要在此定義 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const cha...

C 函式返回值為const

c 函式返回值為const 令函式返回值為const,往往可以降低因使用者錯誤而造成的意外,而又不至於放棄安全性和高效性。class rational class rational operator const rational lhs,const rational rhs rational a,b...