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.});
}
我有以下功能
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.});
}