В чем разница между «typedef» и «using»?C++

Программы на C++. Форум разработчиков
Anonymous
В чем разница между «typedef» и «using»?

Сообщение Anonymous »

Я знаю, что в C ++ 11 мы теперь можем использовать с помощью для записи псевдоним, например Typedef s:

Код: Выделить всё

typedef int MyInt;
< /code>
- это то, что я понимаю, эквивалентно: < /p>
using MyInt = int;
< /code>
И этот новый синтаксис появился из -за усилий, чтобы получить способ выразить «шаблон Typedef»: < /p>
template< class T > using MyType = AnotherType< T, MyAllocatorType >;
< /code>
Но с первыми двумя примерами, не относящимися к размеру, есть ли другие тонкие различия в стандарте? Например, typedef 
s продвигает псевдонимов «слабым» способом. То есть он не создает новый тип, а только новое имя (конверсии неявны между этими именами).
это то же самое с использованием или генерирует новый тип? Есть ли различия?

Подробнее здесь: https://stackoverflow.com/questions/107 ... -and-using

Вернуться в «C++»