關於C 中const的知識點總結

2021-10-06 09:25:58 字數 2255 閱讀 4537

在程式開發過程中,需要一些保持不變、無法被修改的量。c++中可以用const進行修飾。

注意事項:

const

int buffer_size;

//錯誤,宣告時沒有進行初始化

//錯誤

(m)//使用初始化列表初始化const常量

democlass::

~democlass()

//檔案1

const

int my_size =

512;

//檔案2

#include

#include

"democlass.h"

using

namespace std;

extern

const

int my_size;

//使用exern宣告常量已經在其他檔案中完成定義

//參看上面只宣告,不初始化的報錯資訊

intmain()

const

double pi =

3.14

;const

double

&pi = pi;

//正確寫法

double

&pi = pi;

//錯誤,報錯資訊如下,非const修飾的引用不能指向const物件

指標常量:指標指向乙個固定的位址,無法被修改(標誌:const關鍵字出現在* 右側)指標自身的值是乙個常量,不可改變,始終指向同乙個位址。在定義的同時必須初始化。

int a =

10, b =20;

int*

const p =

&a;*p =30;

// p指向的位址是一定的,但其內容可以修改

常量指標:指向乙個常量的指標,指標可以指向不同的常量,但是不可以通過指標修改常量的值。(標誌:const關鍵字出現在 *號左側)

int a =

10, b =20;

const

int*p =

&a;p =

&b;// 指標可以指向其他位址,但是內容不可以改變

const

int*

const ptr6 =

&m;// 指向「常量」的指標常量,具有常量指標和指標常量的特點,指標內容不能改變,也不能指向其他地方,定義同時要進行初始化

*ptr6 =5;

// 錯誤,不能改變指標內容

ptr6 =

&n;// 錯誤,不能指向其他地方

關於初始化方式:

#include

using

namespace std;

classa;

int a::aa =20;

//靜態成員變數定義並初始化

const

int a::count =25;

a::a

(int a):bb

(a)a::~a

()

參考:

const、static和extern的正確使用方式

const關鍵字

指標常量和常量指標

c 知識點總結

1 c 中判斷物件為空的幾種方式 1 先了解幾個與空型別相關的關鍵字和物件 null 關鍵字表示不引用任何物件的空引用,它是所有引用型別變數的預設值,在2.0版本之前也就只有引用變數型別可以為null,如 string a null 但在c 2.0版本之後,net也引入了可以為null的值型別,但變...

C 知識點總結

程式 資料結構 演算法.c語言是面向過程的,面向過程就是分析出解決問題的步驟,然後用函式將其實現,使用時依次呼叫.程式 物件 訊息.c 是物件導向的,c 物件導向是將構成問題的事物分解成各個物件,每個物件完成在解決整個問題中的行為.主要特點是類,封裝,繼承,多型等。物件導向的語言具有更好的可擴充套件...

C 知識點總結

變數和常量 命名變數 在c 中,使用變數的基本原則是先定義後使用。其命名規範如下 1.必須以字母或下劃線開頭 2.只能由字母 數字 下劃線組成,不能 包含空格 標點符號 運算子及其他符號 3.不能與c 關鍵字同名,如class,new等 例如,正確命名 int i 整型變數 stringuser n...