變數宣告相關

2021-07-04 10:31:54 字數 837 閱讀 7325

const, define ,enum{} 幾種用法對比

如下定義幾種變數:

1.static const int var = 5;

2.#define var 5

3.enum;

① 如果需要通過指標傳遞資料,則使用1

② 使用2 則不必要通過指標傳遞資料

③ 1和3 debugger 中都會生成 symbol table, 供查詢。2 則不必要

④ 2,3 可以用來作為陣列的邊界值,而1 不行

c 和 c++ 中又有不同,在c 中 用#define 要好些, 因為const 在c 中並不是真正的 const變數。在c++ 中,const 是真正的const,出於型別安全考慮,用const會好些。

#define var

struct mystruct ;

#define var 5

int main()

因為此種情況中 var 會被替換,所以 #define 後面的字母通常使用全大寫。

另外一種替代 #define 的方法是 使用 enum,  但是對於 int 型別, 數**算則是被限制的。通常來說,使用static const 要好

總結

對於單純的變數,最好以 const物件或enums 替換# defines

對於行似函式的巨集(macros), 最好改用inline 函式替換 #defines.

refference

《effective c++》

宣告變數 如果同時宣告多個變數

如果同時宣告多個變數,可以用以下語句 也可以按如下宣告 dim a as integer,b as integer,c as integer但是不可以按如下宣告 dim a,b,c as integer 如果這樣操作,僅有c宣告正確。如何檢查是否宣告成功呢?可以使用typename函式來判斷。msg...

php宣告變數開頭,php變數宣告

1 什麼是變數?變數就是可變的量,我們可以把它看做是?個容器之所以叫做變數。是因為一旦被宣告後在整個指令碼中都會可以動態的改變變數的值。2 變數的命名規範 1 以 開頭 2 由字母數字下劃線組成,但是不能以數字開頭 3 可以使用中文,但是不推薦使yongoing 4 變數名嚴格區分大小寫 5 變數名...

js變數宣告

var a 向系統要個空間 var 是個關鍵字,變數宣告只有var var a 10 這裡發生兩個過程,乙個是向系統要個空間,另乙個是把10放進房間。並且先發生第一步。var a 10 a 20 20的值把10的值覆蓋 var a,b,c,e 可以同時宣告多個變數,中間以,號 程式設計都是英文狀態 ...