I think the idea is to avoid the confusion between
int a();
and
int a{};
(and I trust you do know the difference).
Yes, in the case of 'rng' or 'uni', no problem exists. But to make it
consistent, I think, it is worth the imposition of a limitation.
> Does it have the same semantics as the MIL?
Yes, except you probably can't use 'this' pointer. Why can't you look
it up?
> Which of the two styles is better?
I prefer the initialization list, all in one place, easy to follow,
dependencies are neatly stacked... Not to mention that to make use of
arguments passed to the constructor you need to use that, and it forms a
good habit.
A combination of the two is probably recommended. I imagine that all
members that are initialized with the same value (or expression) don't
need to be repeated in all the initialization lists, and instead can use
their declarations with initializers.
V
--
I do not respond to top-posted replies, please don't ask