Q
最佳常量c約定
1
A
回答
2
是,在.h文件中的#define或枚舉是要走的路。如果您使用像gdb這樣的調試器進行調試,那麼枚舉是很有用的,因爲您會看到比數字更具描述性的值。
1
如果它是一組值,在頭文件中聲明的枚舉就足夠了(有些人使用#define,但由於值無關緊要,枚舉在這種情況下工作得很好)。如果你只是想比較錯誤代碼,這是一個好方法。
2
如果它是一組相關的數值,那麼enum
是正確的方法。如果這些值是C字符串或者不能由enum
表示(或者如果它們不明顯形成一組相關值),則可以使用以下兩種方法之一。
使用預處理器#define
語句或使用extern const
標記的變量。前者在編譯時被解析,所以你可以使用它來指定數組長度或在使用時主動調用代碼。但是,後者允許您更改常量的值(通過在.c文件中指定而不是在.h文件中)而無需重新編譯每個使用該文件的文件。
因爲extern const
- 標記變量可以按照這種方式進行更改,它們在許多項目中重複使用的代碼或作爲庫分發的代碼中更可取。然後可以在不強迫程序重新編譯的情況下對庫進行更改。
相關問題
- 1. 命名變量,最佳約定
- 2. tcp-messaging的最佳約定
- 3. Jira約定和最佳實踐
- 4. 最佳擴展類命名約定?
- 5. Java常量變量,命名約定
- 6. 約常量
- 7. 最佳C結構定義
- 8. Python和Django常量的最佳實踐
- 9. 字符串常量...最佳實踐?
- 10. Angularjs模塊寬常量最佳實踐
- 11. 繼承常量 - 最佳風格?
- 12. C++中Mersenne Twister的最佳常量種子11
- 13. Objective-C中局部常量的最佳實踐
- 14. 在C++/CLI中實現常量引用的最佳實踐
- 15. ES 6約常量
- 16. C#中常量類的命名約定:複數還是單數?
- 17. 公約定義全局常量地圖
- 18. Scala常量的命名約定?
- 19. 定義Java常量日期的最佳方法
- 20. 將常量值綁定到視圖中的最佳方法(MVC3)
- 21. 如何定義常量值 - 最佳實踐
- 22. C++ try-catch異常處理約定
- 23. 打印時在C中劃定值的最佳/常用做法
- 24. NSError域/自定義域 - 約定和最佳做法
- 25. 如何在C++中定義最終變量(可變常量)?
- 26. C#中保存固定數據量的最佳類別
- 27. C命名約定:隱藏變量/宏
- 28. C++中的變量命名約定
- 29. 約向量FORMAT C++
- 30. jQuery - 定義變量的最佳實踐