19.C 语言与 C++在定义常量时有什么区别
生活随笔
收集整理的這篇文章主要介紹了
19.C 语言与 C++在定义常量时有什么区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
常量是在程序中不能更改的量!在C/C++中有兩種定義常量的的方式。
一種是define宏定義;一種是在C++中新提出來的const型常量;
define是預處理指令的一種,它用來定義宏,宏只是一個簡單的替換,將宏變量所對應的值替換。
const定義常量的時候并沒有這個替換的操作,與使用正常的變量無異。const型變量只是在語法層面上限定這個變量的值不可以修改,我們可以通過強制類型轉化或者通過內嵌匯編的形式修改這個變量的值。
我們可以總結出const和define的幾個不同之處:
1)define是一個預處理指令,const是一個關鍵字。
2)define定義的常量編譯器不會進行任何檢查,const定義的常量編譯器會進行類型檢查,相對來說比define更安全
3)define的宏在使用時是替換不占內存,而const則是一個變量,占內存空間
4)define定義的宏在代碼段中不可尋址,const定義的常量是可以尋址的,在數據段或者棧段中。
5)define定義的宏在編譯前的預處理操作時進行替換,而const定義變量是在編譯時決定
6)define定義的宏是真實的常量,不會被修改,const定義的實際上是一個變量,可以通過相關的手段進行修改。
總結
以上是生活随笔為你收集整理的19.C 语言与 C++在定义常量时有什么区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 18.用宏定义实现 得到两个数的最值
- 下一篇: 20. A *p=NULL,p 可以调用