ホームページ > バックエンド開発 > C++ > 非テンプレート型に対して C 11 の `using` は完全に `typedef` を置き換えることはできますか?

非テンプレート型に対して C 11 の `using` は完全に `typedef` を置き換えることはできますか?

Barbara Streisand
リリース: 2024-12-23 18:57:13
オリジナル
351 人が閲覧しました

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;
ログイン後にコピー

「using」は最初にサポート テンプレートに導入されましたが、 typedefs:

template< class T > using MyType = AnotherType< T, MyAllocatorType >;
ログイン後にコピー

これにより、非テンプレート型を処理する場合、'typedef' と 'using' の間に微妙な違いがあるかどうかという疑問が生じます。

エイリアシングの動作と影響

'typedef' と 'using' の両方でエイリアスが作成されますまたは、新しい型を定義するのではなく、既存の型に新しい名前を付けます。これは、エイリアスと元の型の間の変換が暗黙的であることを意味します。

したがって、エイリアスの動作に関しては、'typedef' と 'using' の間に違いはありません。どちらの構造も、同じ基礎となる型を参照する弱いエイリアスを作成します。

以上が非テンプレート型に対して C 11 の `using` は完全に `typedef` を置き換えることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート