C 11 では、'using' で 'typedefs' と同様の型エイリアスを定義できるようになりました:
typedef int MyInt; // Equivalent to: using MyInt = int;
「using」は最初にサポート テンプレートに導入されましたが、 typedefs:
template< class T > using MyType = AnotherType< T, MyAllocatorType >;
これにより、非テンプレート型を処理する場合、'typedef' と 'using' の間に微妙な違いがあるかどうかという疑問が生じます。
エイリアシングの動作と影響
'typedef' と 'using' の両方でエイリアスが作成されますまたは、新しい型を定義するのではなく、既存の型に新しい名前を付けます。これは、エイリアスと元の型の間の変換が暗黙的であることを意味します。
したがって、エイリアスの動作に関しては、'typedef' と 'using' の間に違いはありません。どちらの構造も、同じ基礎となる型を参照する弱いエイリアスを作成します。
以上が非テンプレート型に対して C 11 の `using` は完全に `typedef` を置き換えることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。