c++11 初始化列表作为数组

c++11 initializer list as an array

我有以下功能

void f(double* arr) 
{ ... }

这是在 C++11 中调用该函数的明智方法吗:f({10.0, 8.0});?谢谢

一个可能的解决方案是围绕 f 函数做一个小包装:

void f(double* arr){

}
void f_wrapper(std::vector<double> v){
    f(v.data());    
}
int main(){
  f_wrapper({1.,2.,3.});
}

或如@(Kerrek SB)所述:

void f(const double* arr){

}

void f_wrapper(std::initializer_list<double> v){
    f(v.begin());
}

int main(){
   f_wrapper({1.,2.,3.});
}