C++核心準(zhǔn)則?T.123:使用常量表達(dá)式函數(shù)在編譯時求值

T.123: Use?constexpr?functions to compute values at compile time
T.123:使用常量表達(dá)式函數(shù)在編譯時求值
Reason(原因)
A function is the most obvious and conventional way of expressing the computation of a value. Often a?constexpr?function implies less compile-time overhead than alternatives.
函數(shù)是表達(dá)求值的最顯然,最便利的方式。通常,常量表達(dá)式函數(shù)比其他選項需要的編譯時代價更小。
Note(注意)
"Traits" techniques are mostly replaced by template aliases to compute types and?constexpr?functions to compute values.
“特征”技術(shù)用于計算類型時基本上已經(jīng)模板別名所代替,用于求值時則可以用常量表達(dá)式函數(shù)代替。
Example(示例)
template
// requires Number
constexpr T pow(T v, int n) // power/exponential
{
T res = 1;
while (n--) res *= v;
return res;
}
constexpr auto f7 = pow(pi, 7);
Enforcement(實施建議)
Flag template metaprograms yielding a value. These should be replaced with?constexpr?functions.
標(biāo)記返回數(shù)值的模板元編程。它應(yīng)該被常量表達(dá)式函數(shù)代替。
原文鏈接
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#t123-use-constexpr-functions-to-compute-values-at-compile-time
新書介紹
《實戰(zhàn)Python設(shè)計模式》是作者最近出版的新書,拜托多多關(guān)注!

本書利用Python 的標(biāo)準(zhǔn)GUI 工具包tkinter,通過可執(zhí)行的示例對23 個設(shè)計模式逐個進行說明。這樣一方面可以使讀者了解真實的軟件開發(fā)工作中每個設(shè)計模式的運用場景和想要解決的問題;另一方面通過對這些問題的解決過程進行說明,讓讀者明白在編寫代碼時如何判斷使用設(shè)計模式的利弊,并合理運用設(shè)計模式。
對設(shè)計模式感興趣而且希望隨學(xué)隨用的讀者通過本書可以快速跨越從理解到運用的門檻;希望學(xué)習(xí)Python GUI 編程的讀者可以將本書中的示例作為設(shè)計和開發(fā)的參考;使用Python 語言進行圖像分析、數(shù)據(jù)處理工作的讀者可以直接以本書中的示例為基礎(chǔ),迅速構(gòu)建自己的系統(tǒng)架構(gòu)。
覺得本文有幫助?請分享給更多人。
關(guān)注微信公眾號【面向?qū)ο笏伎肌枯p松學(xué)習(xí)每一天!
面向?qū)ο箝_發(fā),面向?qū)ο笏伎迹?/span>
