我們在c中,往往會使用#define
來定義常量,比方說:
# define abc=100
這個呢,就是在後面的程式中,反正有abc這個識別符號的,都用100來代替了。
然鵝,在預編譯
ps: 預編譯又稱為預處理,是做些**文字的替換工作。處理#開頭的指令,比如拷貝#include包含的檔案**,#define巨集定 義的替換,條件編譯等
之後,程式中就不再有abc這個識別符號了。 因為abc不是變數,沒有型別,不占用儲存單元,所以容易出錯。
那麼,c++ 中,就用const修飾符來定義常量。
for example:
const int abc=100;
這個常量abc是有型別,占用儲存單元,有位址,可以用指標指向它,雖然不能修改。
其實 const 和 # define 的作用相似,但是在c++ 中,它消除了不安全性。比方說:
#include using namespace std;
int main()
{ int a=1;
#define t1 a+a
#define t2 t1-t1
cout << "t2 is "<< t2 從這個初看,似乎輸出:
t2 is 0
但是,答案顯然是錯誤的,在cb上執行為:
t2 is 2
原因就是c++ 把 第七行語句解釋為了:
cout << "t2 is "<
#include using namespace std;
int main()
{ int a=1;
const t1 a+a
const t2 t1-t1
cout << "t2 is "<< t2 執行結果為:
所以,符合我們所期待的結果。
複眼計畫第三期
新的動態影像讀取與分析技術與時空穿透掃瞄技術的結合,產生時空穿透動態影像視覺模式,可以觀察多時間線的 動態影像,並配合 分析系統,形成新的少數派報告的資料 以取代舊的資料 複眼計畫第二期中的空間穿透影象讀取技術只能夠產生資料,對 分析的準確性幫助不大,需要公升級 單兵複眼系統公升級為第三期,可以讓光...
CSDN 精品專欄 第三期
以往精品專欄推薦 csdn 精品專欄 第一期 csdn 精品專欄 第二期 專欄簡介 本專欄面向python零基礎讀者,從基本語法寫起,介紹了資料結構和演算法 資料庫優化 linux命令 高階程式設計技巧和web安全攻防 專案前導,講解兩大web框架 flask和django。後進入python爬蟲 ...
jquery特效收藏第三期
1.flash製作房地產樓盤展示效果圖 2.flash製作夜空老鷹飛翔動畫 3.flash製作三種彩色鴿子飛翔 4.jquery製作排版fliplightbox燈箱彈窗外掛程式 5.jquery製作akordeon可折疊手風琴外掛程式 6.jquery自適應網頁視窗背景全屏 7.jquery製作帶右...