const
- const
- 基礎知識(指標變數和它所指向的記憶體空間變數是兩個不同的概念)
- c中冒牌貨(只讀變數有自己存盤空間)
- C++const是一個只讀常量,符號表機制,(不)可能分配記憶體
- const常量是由編譯器處理的,提供型別檢查和作用域檢查
-
define宏定義由前處理器處理,單純的文本替換
- const修飾類成員變數(建構式初始化串列)
- const修飾類成員函式:修飾的是this指標
- 基礎知識(指標變數和它所指向的記憶體空間變數是兩個不同的概念)
const int a;
int const b;
//第?個第?個意思?樣代表?個常整形數
const int *c;
//第三個 c是?個指向常整形數的指標(所指向的記憶體資料不能被修改,但是本?可以修
改)
int * const d;
//第四個 d 常指標(指標變數不能被修改,但是它所指向記憶體空間可以被修改)
const int * const e ;
//第五個 e?個指向常整形的常指標(指標和它所指向的記憶體空間,均不能被修改)
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
//const 修飾參考,一般跟const修飾指標的用途是一樣的,都是作為函式引數,
//保證該引數是輸入引數,是只讀的,在函式內部該表不了外部的值
void printB(const int &re)
{
cout << "re = " << re << endl;
}
int main(void)
{
const int a = 10; //1,如果想對一個常量進行參考, 必須是一個const參考,
const int &re = a;
int b = 20;
const int &re2 = b; //2 相反如果一個普通變數,用一個const參考接收是可以的,
cout << "b = " << b << endl;
cout << "re2 =" << re2 << endl;
//re2 = 300;
b = 30;
cout << "b = " << b << endl;
cout << "re2 =" << re2 << endl;
printB(b);
printB(a);
const int &re3 = 10;
//const int &re3 = 10; re3 = &10, 編譯器臨時開辟一個變數temp = 10;
//const int &re3 = temp
const int *p = &re3;
*((int*)p) = 30; //temp = 30
cout << "*p = " << *p << endl;
cout << "re3 = " << re3 << endl;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/80740.html
標籤:C++
上一篇:c++--語言本身
下一篇:c++-參考
