C 常成員的賦值問題,C 常成員的賦值問題

時間 2021-07-04 07:40:13

1樓:來自國家大劇院惜玉憐香 的白肩雕

第一個問題解釋如下:

把形參定義為引用型別&可以提高引數傳遞的效率。引用型別的形參與相應的實參佔有相同的空間,其取得是該變數的地址,所以引用型別又稱hidden point(隱藏的指標)。

當把形參定義為引用型別時,為了防止通過引用型別改變相應實參的值,可以在引用形參時加上const,表示不能修改所引用的值。如:

void f(const int &x)

第二個問題:

常成員的賦值可以在類內,const int x=3;可以在任何地方寫,只不過強調x不可以改變之而已。你想表達的是static的用法。

在c++中,採用靜態資料成員是來解決同一個類的物件共享資料的問題。

靜態資料的成員必須要在類的外部給出它的定義,定義時可以初始化。如:

class a

......

};int a::shared=0; //靜態資料成員的定義

2樓:匿名使用者

static成員要在類外部定義和初始化.

引用,沒有預設建構函式的類成員,必須在初始化列表裡初始化.

另外,賦值和初始化是兩碼.

詳見c++ primer第四版.

3樓:匿名使用者

誰說常成員賦值要在外面。 是 static成員要在外面實現和初始化

4樓:小唐文件屋

不懂,學習中。。。。。。

c 類中成員函式的問題

1.你這基礎實在薄弱,基本概念都還沒懂 2.下面的void m f1 m m 是對類裡面 static void f1 m m 函式的實現。m m 的意思定義一個m的物件m.也就是這個函式的引數必須是一個m的物件。3.m p 5 q 10 這裡的定義兩個m物件 括號裡的值是傳遞給建構函式的,即呼叫此...

c語言結構體陣列成員怎麼賦值,C語言結構體陣列成員怎麼賦值?

會飛的小兔子 intmain void printf d,s n bao.id,bao.name 輸出是4224528,空 應該是null structstudentsbao 可以。第一種賦值方法 strcpy bao.name,bao 可以,printf d,s n bao.id,bao.name...

c語言的賦值問題,C語言指標的賦值問題

上面的說法中,都存在錯誤或不足.1.首先 c a b 的意義是把 a 和 b 這兩個變數的內容 5 和 6 相加得 11,再把 11 這個結果值傳送至 變數 c 所在的儲存單元儲存起來 而不是你想像的 將 a 和 b 這兩個變數組合為一個變數作為 c,或者複製一份變數組合再作為 c.當你用int a...