Я создаю функцию под названием linspase
с C ++ 17 со следующей структурой ввода linspace(double upper, double lower, int size)
. Функция должна создавать size
равномерно распределенных чисел между lower
и upper
. Программирование этой функции легко; однако я хочу, чтобы он создал std::array<double, size>
, где функция будет определять размер массива из вызова функции и передавать обратно тип данных std::array<double, size>
. Я знаю, что шаблоны - единственный способ сделать это, но я не уверен, как создать шаблон. В общем псевдокоде я думаю, что это выглядит примерно так.
template <typedef T, size_t size>
T linspace(double lower, double upper, int num)
{
/* ... Function meat goes here to create arr of size
num of evenly space numbers between lower and upper
*/
return arr
}
Однако я знаю, что это объявление шаблона неверно, и я не уверен, как оно должно выглядеть. Чтобы было ясно, я хочу, чтобы он возвращал std:;array
определенного размера, а не std::vector
.