簡體   English   中英

如何縮短聲明命名常量的時間?

[英]How to shorten declaring named constants?

那么如果我必須像下面的例子一樣聲明多個相同類型的常量,有沒有辦法在減少代碼長度的同時提高效率? 這是針對 C++ 的。

const double DISCOUNT = .2;

const double CUT_OFF = 150;

const double SHIP_CHARGE = 8.5;

const double TAX_RATE = 0.0825;

好吧,你可以像下面這樣寫,但真的沒有理由:

const double DISCOUNT = .2, CUT_OFF = 150, SHIP_CHARGE = 8.5, TAX_RATE = 0.0825;

它是否更具可讀性是有爭議的。 我個人不推薦它, C++ Core Guidelines 也不推薦它

附帶說明一下,對於這樣的事情,您應該使用constexpr而不是const

好,

#define A(b, c) const double b = c;
A(DISCOUNT, .2)
A(CUT_OFF, 150)
A(SHIP_CHARGE, 8.5)
A(TAX_RATE, .0825)

字符較少。 但確實很難讀。 從 C++11 開始,更喜歡constexpr const

永遠不推薦“打高爾夫球”C++ 代碼。 編寫清晰的代碼。

嗯,這就是我要做的方式......

而不是你我用別的東西。

using T = const double;

T DISCOUNT = .2;
T CUT_OFF = 150;
T SHIP_CHARGE = 8.5;
T TAX_RATE = 0.0825;

我也會使用constexpr但在這種情況下const是相同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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