[英]C++ How to make a function overload that accepts class functions as argument
[英]how can you make a function that accepts both float and double in c++
我不知道它是否可能,但我想让这个计算向量平均值的 function 同时接受浮点数和双精度数。 有什么办法吗? 谢谢。
#include <numeric>
#include <stdint.h>
#include <vector>
int mean(std::vector<float> var)
{
int number = var.size();
int varAcc = std::accumulate(var.begin(), var.end(), 0);
return varAcc / number;
}```
您可以使用模板使其适用于所有类型。
template<typename T>
T mean(const std::vector<T>& var)
{
int number = var.size();
T varAcc = std::accumulate(var.begin(), var.end(), T{});
return varAcc / number;
}
这就是您编写更少代码并使事情在支持 function 模板和模板类中使用的操作的类型上工作的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.