Можно ли использовать функции-члены для инициализации переменных-членов в списке инициализации?

Хорошо, переменные-члены могут использоватьсядля инициализации других переменных-членов в списке инициализации (с учетом порядка инициализации и т.д.). Как насчет функций-членов? Чтобы быть конкретным, является ли этот фрагмент допустимым в соответствии со стандартом C++?

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 fill_arr(const size_t N){
    std::vector arr(N);
    // fill in the vector somehow
    return arr;
  }

  size_t N_;
  std::vector arr_;
  // other stuff
};

34
задан Community 23 May 2017 в 11:47
поделиться