I have some doubts about construction and initialization order guarantees in C++. For instance, the following code has four classes X, Y, Z>
X
Y
Z>
1) First of all, it is needed to calculate the arguments.
2) Then base classes are constructed.
3) Then members are constructed in the order of appearance in the declaration of the class.
4) Then Constructor of X is called