C關於 常量引用 不理解

時間 2021-08-11 17:35:05

1樓:千鋒教育

如果是對一個常量進行引用,則編譯器首先建立一個臨時變數,然後將該常量的值置入臨時變數中,對該引用的操作就是對該臨時變數的操作。對常量的引用可以用其它任何引用來初始化;但不能改變。

關於引用的初始化有兩點值得注意:

(1)當初始化值是一個左值(可以取得地址)時,沒有任何問題;

(2)當初始化值不是一個左值時,則只能對一個const t&(常量引用)賦值。而且這個賦值是有一個過程的:

首先將值隱式轉換到型別t,然後將這個轉換結果存放在一個臨時物件裡,最後用這個臨時物件來初始化這個引用變數。

例子:double& dr = 1; // 錯誤:需要左值const double& cdr = 1; // ok第二句實際的過程如下:

double temp = double(1);

const double& cdr = temp;

2樓:匿名使用者

1、全域性變數只有一種定義方法,就是定義在函式外面全域性變數太長而言可以用變數也可以用巨集

2、例如:

const double pi=3.14;

#define pi 3.14

c語言整型常量問題,c語言整型常量

高悅 首先要明白c語言的常量表達什麼?我們才能瞭解它的問題是什麼 常量 其值不會發生改變的量,稱為常量。它們可以和資料型別接合起來分類。比如 整形常量,浮點型常量,字元常量等等,常量是可以不經過定義和初始化,而直接引用的。常量分類 常量又分為 直接常量和符號常量。直接常量又叫做 字面常量。如12,0...

c語言實型常量,C語言,實型常量???

酷哥 嚴格來說,c語言中沒有 實型 real type 這種資料型別。c語言中非構造型別只有整型 int short long long long和對應的unsigned修飾的型別,以及同義寫法 以及浮點型 包括單精度浮點型float,雙精度浮點型double,長雙精度浮點型long double ...

c語言實型常量,C語言實型常量

第一個錯了,e或e後緊跟指數,他後面有一個空格。我覺得這兩個是正確的實型常量阿 引用如下 嚴格來說,c語言中沒有 實型 real type 這種資料型別。c語言中非構造型別只有整型 int short long long long和對應的unsigned修飾的型別,以及同義寫法 以及浮點型 包括單精...