I know that in C++11 we can
now use using
to write type alias, like
typedef
s:
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
":
typedef
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, typedef
s 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?
No comments:
Post a Comment