簡體   English   中英

為布爾類型定義名稱,以代替“ true”和“ false”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM