C 宣告語名A const A a A A a A A a 的區別

2021-08-26 05:04:38 字數 2309 閱讀 5341

1樓:匿名使用者

看樣子前三個是一個類a拷貝建構函式,第四個是一個類a的普通成員函式。

a(const a&a);-------a 在此函式中不可改變其值。

a(a&a);--------a 在此函式中可改變其值。

a(a a);-------a是非引用引數。

a fun(a a);-------就是普通成員函式。

拷貝建構函式什麼意思,請自行查詢答案。

2樓:尺丶八

第一個是拷貝建構函式 和第二個差不多 不同的是這裡的a不能被修改 第3個我自己起名叫二次拷貝建構函式吧 因為他還要執行前面兩個函式中的一個或是無參建構函式 第4個是class a裡的一個fun函式 形參是a型別

3樓:夏水秋池

第一個為拷貝建構函式,有的編譯器只認第一種是拷貝建構函式,當然有的編譯器把第二種也算上,但拷貝建構函式最好寫成第一種

第二種也可以作為拷貝建構函式,不過引數不是const的,因此跟第一個函式不同

第三種不是拷貝建構函式,傳進去的不是一個引用,而是一個a類的物件第四種不是建構函式,因為有返回值,為a型別,而引數就是a類的物件,跟上面三個完全不一樣

c++語句const a &是什麼意思?用了什麼語法 40

4樓:

const a ¶;

const用來增加c++裡面的安全性,即是限制許可權(那些不可寫);

這裡是說明para引數是const型別,不可對它進行任何修改(任何寫);&則表示一個變數的引用,即一個變數的別名

5樓:

const 是隻讀,或者是所說的 “常量”。a 在這裡是不是對類名啊? 而& 表示引用。

實際上應該這樣看

a t1; // 實類物件 t1

a & t2=t1; //t2 是物件t1 的引用const a & t2= t1; //表示常變數t2 是物件t1 的引用

根據這個思路一點點去理解。

6樓:匿名使用者

懷疑a是一個自定義型別,比如一個類,&這裡應該是引用。

7樓:匿名使用者

作為引數 傳遞地址

作為返回值,返回資料地址。

const 限制是否可以通過a修改內容

8樓:匿名使用者

a型別的常引用,一般多用在形參中,函式體中不得改變形參

c++陣列名a和&a的區別

9樓:匿名使用者

一個是名字,一個是引用。

10樓:智者總要千慮

c/c++裡面的陣列名字會退化為指標,所以陣列名a實際指的是陣列的第一個元素的地址。而陣列名作為指標來講有特殊性,它正在它所指向的記憶體區域中,&a的值和a的數值是相同的(可以輸出觀察一下),但是型別和意義不同。而指標的加法操作和指向的資料型別密切相關。

比如:int a[10]; a就相當於int *,如果是對它加1(a + 1)是相當於a + 1 * sizeof(int)。但是&a的型別則相當於int **,是所謂指向陣列的指標,是陣列元素型別的二級指標,對它加1是相當於 &a + 1 * sizeof(a)的,所以會偏移一個陣列長度。

關於c++的問題a(const a &a);裡邊a & a是引用的意思嗎?引用不應該是 (資料型別 & 引用變數名=變數名)

11樓:

是 a是個引用

a是使用者自定義型別 也是一種資料型別

c語言定義變數如:int const a;與const int a;有什麼區別?

12樓:匿名使用者

baiint const *a 和const int *a 沒有區別,都是du

一個zhi指向一個int常量的指標,這個指標本身dao以後可以重賦值指向別的int常量。

而 int *const a; 表示a是一個指標常量,初始化的時候必須固定指向一個int變數,之後就不能再指向別的地方了。

#include

int main()

13樓:匿名使用者

在定義變來量的時候是沒有說明區自別的;例bai如:const int a; int const a;但是定義此類變數時du,一般zhi

放在前面!

const int *a和dao int * const a這個區別就很多了,第一個是保證指標所指的資料不能被修改,第二個是指標不能被修改

用c宣告商品類,用c宣告乙個商品類

給你改了下 你試試吧 include include class product product product char n,int p,int q product product 我認為你定義的建構函式 product char n,int p,int q,int nm,int money 建構...

c語言宣告陣列必須要設定範圍,C語言宣告陣列必須要設定範圍

知道錯 你知道為什麼 int num i j 首先編譯程式告訴你 沒有宣告的兩個變數i j對吧 程式不對 所以 它不能這樣寫 還有i j就算定義了 沒值 不確定句不能確定num陣列的大小計算機很苯的 就認為它很大 那這麼辦 就是無限的大啊向記憶體申請了 很大很大的空間 然後四機了 也說明 不能這樣寫...

c語言定義全域性陣列問題,c語言陣列宣告問題

微控制器的led控制?陣列在子函式外作全域性變數是可以的,我就經常這麼定義。你的程式主函式呢?void main?問題不在子函式的陣列呼叫這。全域性陣列的定義語句一般是uchar code table 和一般的陣列定義不同,必須加code,你看是不是這個問題。詳細你可以找我私戳 在c語言中,全域性變...