Порядок вызова конструктора базового класса из списка инициализации производных классов

struct B { int b1, b2;  B(int, int); };
struct D : B {
  int d1, d2;
// which is technically better ?
  D (int i, int j, int k, int l) : B(i,j), d1(k), d2(l) {} // 1st Base
// or
  D (int i, int j, int k, int l) : d1(k), d2(l), B(i,j) {} // last Base
};

Выше - это просто псевдокод. На самом деле я хотел узнать, имеет ли значение порядок вызова базового конструктора ?. Есть ли какие-либо плохие поступки (особенно угловые случаи ), вызванные каким-либо из этих случаев? Мой вопрос касается более технического аспекта и , а не стилей кодирования.

10
задан Morwenn 29 April 2013 в 13:14
поделиться