创建C风格的数组形式参数包
Create C-style array form parameter pack
如何从参数包创建数组?
template<typename T, typename... Tpack>
void covert(Tpack ...pack){
T *arr = new T[???]; //TODO: how to get Tpack size?
// TODO: how to fill array?
}
你可能会:
template<typename T, typename... Tpack>
void covert(Tpack ...pack){
T *arr = new T[sizeof...(Tpack)]{pack...};
// ...
delete[] arr;
}
但你的函数按原样很奇怪。
std::tuple
可能更合适,或将输入参数更改为 std::initializer_list<T>
或 std::array<T, N>
.
如何从参数包创建数组?
template<typename T, typename... Tpack>
void covert(Tpack ...pack){
T *arr = new T[???]; //TODO: how to get Tpack size?
// TODO: how to fill array?
}
你可能会:
template<typename T, typename... Tpack>
void covert(Tpack ...pack){
T *arr = new T[sizeof...(Tpack)]{pack...};
// ...
delete[] arr;
}
但你的函数按原样很奇怪。
std::tuple
可能更合适,或将输入参数更改为 std::initializer_list<T>
或 std::array<T, N>
.