[英]Defining names in place of “true” and “false” for bool type
我想使用bool
在從文件加載X和加載Y之間來回切換。 我不想使用“ true”和“ false”,因為它不能使代碼清晰。 我寧願使用類似LOAD_X或LOAD_Y的方法...以下代碼是實現此目的的方法嗎? 或者,還有更好的方法?
#define LOAD_X true
#define LOAD_Y false
編輯:好的,所以似乎是一個enum
是要走的路...但是命名方案應該是什么? 像所有大寫字母一樣,或第一個單詞的小寫字母,后一個單詞的大寫字母等。
您可以使用一個枚舉:
enum LoadType {
LoadY,
LoadX
};
或者,您可能更喜歡通過使用命名空間來限制枚舉數的范圍:
namespace LoadType {
enum Type {
LoadY,
LoadX
};
};
使用枚舉的優點是,如果函數采用LoadType
(或第二個示例中的LoadType::Type
),則不能將其傳遞給任何任意整數或布爾值; 您只能將其傳遞給枚舉器之一(或者明確傳遞給枚舉類型的東西,這在代碼審查中很容易發現)。
我會用一個枚舉代替。 僅僅因為有兩個選擇,並不意味着該類型應該是布爾型
enum load_type { loadX, loadY };
如果您只有兩種選擇,我想那行得通。 我很想去列舉一個枚舉:
enum LOADMODE {
LOAD_X,
LOAD_Y
};
至少,與常量相比,首選常量:
const bool LOAD_X = true;
const bool LOAD_Y = false;
他們將遵守范圍規則,並且不會在您不知道名稱沖突時默默地破壞內容。
我認為負載X是負載。 小寫字體看起來更友好,可以選擇鮮艷的顏色。 枚舉LoadType {LoadY,LoadX可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.