在C 11 中,'using' 現在可以定義類似於'typedefs' 的類型別名:
typedef int MyInt; // Equivalent to: using MyInt = int;
雖然「使用」最初是為了支持模板而引入的typedefs:
template< class T > using MyType = AnotherType< T, MyAllocatorType >;
這提出了一個問題:在處理非範本類型時,'typedef' 和'using'之間是否存在細微差別。
別名行為和意義
「typedef」和「using」都會為現有的建立別名或新名稱類型,而不是定義一個新類型。這意味著別名和原始類型之間的轉換是隱式的。
因此,「typedef」和「using」在別名行為方面沒有區別。兩種建構都會建立引用相同基礎類型的弱別名。
以上是對於非模板類型,「using」能否完全取代 C 11 中的「typedef」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!