Kolejność oceny listy inicjalizacyjnej konstruktora
Mam konstruktora, który pobiera pewne argumenty. Założyłem, że zostały skonstruowane w podanej kolejności, ale w jednym przypadku wydaje się, że były konstruowane w odwrotnej kolejności, co skutkowało przerwaniem. Kiedy odwróciłem argumenty, program przestał przerywać. To jest przykład składni, której używam. Rzecz w tym, że w tym przypadku a_ musi zostać zainicjowane przed b_. Czy możesz zagwarantować kolejność budowy?
na przykład
class A
{
public:
A(OtherClass o, string x, int y) :
a_(o), b_(a_, x, y) { }
OtherClass a_;
AnotherClass b_;
};