können Elementfunktionen verwendet werden, um Elementvariablen in einer Initialisierungsliste zu initialisieren?

OK, member-Variablen verwendet werden können zu initialisieren anderen member-Variablen in einer Initialisierungs-Liste (mit Sorgfalt über die Initialisierungs-Reihenfolge etc). Was ist mit member-Funktionen? Um genau zu sein, ist dieses snippet rechtliche nach der C++ standard?

struct foo{
  foo(const size_t N) : N_(N),  arr_(fill_arr(N)) { 
    //arr_ = fill_arr(N); //or should I fall back to this one?
  }

  std::vector<double> fill_arr(const size_t N){
    std::vector<double> arr(N);
    //fill in the vector somehow
    return arr;
  }

  size_t N_;
  std::vector<double> arr_;
  //other stuff
};

InformationsquelleAutor der Frage ev-br | 2012-06-24

Schreibe einen Kommentar