天天看點

C++核心準則T.43: 定義别名時,using比typedef更好

T.43: Prefer using over typedef for defining aliases

T.43: 定義别名時,using比typedef更好

Reason(原因)

Improved readability: With using, the new name comes first rather than being embedded somewhere in a declaration. Generality: using can be used for template aliases, whereas typedefs can't easily be templates. Uniformity: using is syntactically similar to auto.

提高可讀性:使用using,新名稱最先出現,而不是嵌入在聲明的某個地方。通用性:using可以用于模闆别名,然而typedef無法簡單地用于模闆。統一性:using在句法上和auto相似。

Example(示例)

typedef int (*PFI)(int);   // OK, but convoluted

using PFI2 = int (*)(int);   // OK, preferred

template<typename T>
typedef int (*PFT)(T);      // error

template<typename T>
using PFT2 = int (*)(T);   // OK      

Enforcement(實施建議)

  • Flag uses of typedef. This will give a lot of "hits" :-(
  • 标記使用typedef的地方。會有發現大量使用typedef的代碼:-(

原文連結

​​https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#t42-use-template-aliases-to-simplify-notation-and-hide-implementation-details​​

新書介紹

​​《實戰Python設計模式》​​是作者最近出版的新書,拜托多多關注!

C++核心準則T.43: 定義别名時,using比typedef更好

本書利用Python 的标準GUI 工具包tkinter,通過可執行的示例對23 個設計模式逐個進行說明。這樣一方面可以使讀者了解真實的軟體開發工作中每個設計模式的運用場景和想要解決的問題;另一方面通過對這些問題的解決過程進行說明,讓讀者明白在編寫代碼時如何判斷使用設計模式的利弊,并合理運用設計模式。

對設計模式感興趣而且希望随學随用的讀者通過本書可以快速跨越從了解到運用的門檻;希望學習Python GUI 程式設計的讀者可以将本書中的示例作為設計和開發的參考;使用Python 語言進行圖像分析、資料處理工作的讀者可以直接以本書中的示例為基礎,迅速建構自己的系統架構。

覺得本文有幫助?請分享給更多人。

關注微信公衆号【面向對象思考】輕松學習每一天!

面向對象開發,面向對象思考!

繼續閱讀