C++進(jìn)化后的const變量實(shí)例探究
C語言中的const
const修飾的變量的是只讀的,本質(zhì)還是變量
const修飾的局部變量還在棧上分配空間
const修飾的全局變量在只讀的存儲(chǔ)區(qū)分配空間
const只在編譯器有用,在運(yùn)行期無用
const修飾的變量不是真的常量,只是該變量不能出現(xiàn)在賦值符號(hào)的左邊
const不能定義真正意義上的常量!
C語言真正意義上的常量只有枚舉
#include <stdio.h>
int main()
{
const int c = 0;
int* p = (int*)&c;
printf("Begin...\n");
*p = 5;
printf("c = %d\n", c);
printf("End...\n");
return 0;
}C語言中的const變量
-C語言中const變量是只讀變量,會(huì)分配存儲(chǔ)空間
C++中的const變量
-可能分配存儲(chǔ)空間
當(dāng)const常亮為全局,并且需要在其他文件中使用
當(dāng)使用&操作符對(duì)const常量取地址
C++中的const常量類似于宏定義
-const int c=5; ≈#define c 5
C++中的const常量在與宏定義不同
const常量由編譯器處理
編譯器對(duì)const常量進(jìn)行類型檢查和作用域檢查
宏定義由預(yù)處理器處理,單純的文本替換
#define a 3
const int b = 4;
}
void g()
{
printf("a = %d\n", a);
//printf("b = %d\n", b);
}
int main()
{
const int A = 1;
const int B = 2;
int array[A + B] = {0};
int i = 0;
for(i=0; i<(A + B); i++)
{
printf("array[%d] = %d\n", i, array[i]);
}
f();
g();
return 0;
}小結(jié)
與C語言不同,C++中的const不是只讀變量
C++中的const是一個(gè)真正意義上的常量
C++編譯器可能會(huì)為const常量分配空間
C++完全兼容C語言中const常量的語法特性
以上就是C++進(jìn)化后的const變量實(shí)例探究的詳細(xì)內(nèi)容,更多關(guān)于C++ const變量進(jìn)化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C++讀入"N,X,Y,Z"格式文本文件到Eigen3 Matrix
這篇文章主要介紹了C++讀入"N,X,Y,Z"格式文本文件到Eigen3 Matrix,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Cocos2d-x保存用戶游戲數(shù)據(jù)CCUserDefault類使用實(shí)例
這篇文章主要介紹了Cocos2d-x保存用戶游戲數(shù)據(jù)CCUserDefault類使用實(shí)例,需要的朋友可以參考下2014-09-09
C&C++設(shè)計(jì)風(fēng)格選擇 命名規(guī)范
本文難免帶有主觀選擇傾向,但是會(huì)盡量保持客觀的態(tài)度歸納幾種主流的命名風(fēng)格,僅供參考2018-04-04
C++中decltype關(guān)鍵字的實(shí)現(xiàn)
decltype是C++11引入的關(guān)鍵字,用于在編譯時(shí)精確推導(dǎo)表達(dá)式或變量的類型而不執(zhí)行表達(dá)式,本文就來詳細(xì)的介紹一下C++ decltype關(guān)鍵字的使用,感興趣的可以了解一下2026-02-02
C語言運(yùn)用回調(diào)函數(shù)實(shí)現(xiàn)計(jì)算器
這篇文章主要為大家詳細(xì)介紹了C語言運(yùn)用回調(diào)函數(shù)實(shí)現(xiàn)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
vs2019 MFC實(shí)現(xiàn)office界面的畫圖小項(xiàng)目
本文主要介紹了vs2019 MFC實(shí)現(xiàn)office界面的畫圖小項(xiàng)目,對(duì)大家入門有一定的幫助,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06

