在 c + + 11中'typedef'和'using'之间有什么区别？
I know that in C++11 we can now use
using to write type alias, like
typedef int MyInt;
Is, from what I understand, equivalent to:
using MyInt = int;
And that new syntax emerged from the effort to have a way to express "
template< class T > using MyType = AnotherType< T, MyAllocatorType >;
But, with the first two non-template examples, are there any other subtle differences in the standard? For example,
typedefs do aliasing in a "weak" way. That is it does not create a new type but only a new name (conversions are implicit between those names).
Is it the same with
using or does it generate a new type? Are there any differences?