ОК, переменные-члены могут использоваться, чтобы инициализировать другие переменные-члены в списке инициализации (с осторожностью относительно порядка инициализации и т.д.). Как насчет функций-членов? Чтобы быть конкретным, является ли этот фрагмент законным в соответствии со стандартом С++?
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
};