7
C ++ 11の「typedef」と「using」の違いは何ですか?
C ++ 11ではusing、typedefsのような型エイリアスを書き込むために使用できることを知っています。 typedef int MyInt; 私が理解していることから、これは次と同等です: using MyInt = int; そして、その新しい構文は、 " template typedef" を表現する方法を持つための努力から生まれました。 template< class T > using MyType = AnotherType< T, MyAllocatorType >; しかし、最初の2つの非テンプレートの例では、標準に他の微妙な違いがありますか?たとえば、typedefsは「弱い」方法でエイリアシングを行います。つまり、新しいタイプは作成されず、新しい名前のみが作成されます(これらの名前間の変換は暗黙的です)。 それと同じusingですか、それとも新しいタイプを生成しますか?違いはありますか?