首頁 > 後端開發 > C++ > 對於非模板類型,「using」能否完全取代 C 11 中的「typedef」?

對於非模板類型,「using」能否完全取代 C 11 中的「typedef」?

Barbara Streisand
發布: 2024-12-23 18:57:13
原創
348 人瀏覽過

Can `using` Completely Replace `typedef` in C  11 for Non-Template Types?

C 11 中的 'using' 可以取代 'typedef' 嗎?

在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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板