1. 程式人生 > 其它 >c++ | const的用法

c++ | const的用法

技術標籤:c++學習c++指標

const

const的四種用法


const修飾變數

const修飾變數,使得變數不可修改。

const int a = 1;

const修飾指標

const修飾指標分為三種情況:

  1. 常量指標(pointer to const):即指向常數的指標,指向的值不可更改,但是地址可以更改。
int a = 1;
int b = 2;
const int *p = &a;
p = &b;

當指標p嘗試更改其指向的值時,報錯:
在這裡插入圖片描述

  1. 指標常量(const pointer):即不可更改地址的指標,但是指標所指向的值可以更改。值得注意的是,指標常量的用法類似於c++的引用,不可更改地址。
int a = 1;
int const *p = &a;
*p = 2;

當嘗試更改地址時,會報錯:
在這裡插入圖片描述

  1. const修飾指標以及指標指向的常量:類似於c++的常量引用
//const修飾指標並且修飾指標型別時,定義為指標常量指向常量,即不僅指標地址不可更改,指標的值也不可更改。*p4,p4都是read-only
    const int* const p4 = &b;

const修飾引用

  1. 常量引用(reference to const):指向常量的引用,指向的值不可更改。
const int a = 1;
const int &p = a;
  1. 沒有引用常量,因為引用本身就是const to reference,即地址不可更改。

const修飾函式

  1. 修飾返回值
    即返回值是不可更改的常量。
const int function(){};
  1. 修飾引數
    即引數是不可更改常量。
int function(const int val){}