I read that often list-initialization is preferred over the 'old' way of using round braces, because they don't allow narrowing conversions.
The auto keyword has similar attributes, in that it avoids conversions at all.
I wonder whether the following two statements are equivalent:
auto a = SomeClass(arg_a, arg_b);
auto b = SomeClass{arg_a, arg_b};
That is, apart from the fact that b has a different name than a ;)
By equivalent, i mean that for whatever arguments SomeClass takes, in whatever situation, i can replace the expression leading to the construction of a, with the construction leading to the construction of b, provided of course that i am using the auto keyword.
Is this the case, or are there any pitfalls/considerations?