我正在考虑重载函数,它不是一种更快的执行方式,例如,成瘾而没有用不同的参数和输出定义函数很多次(int,float double ecc ...) .
更容易理解:
// 2 ints addiction
int addic(int & a, int & b) {
int c;
c = a + b;
return c;
}
// 1 int + 1 float
float addic(int & a, float & b) {
float c;
c = a + b;
return c;
}
不是更快的方式吗?我要定义所有案例吗?
1 回答
这(避免代码重复)是模板存在的东西之一;以下是如何实现您用作示例的函数的示例(在C 11中):
T1
将是您传递给函数的第一个参数的类型,而T2
将是第二个参数的类型 .std::common_type<T1, T2>::type
是T1和T2都可以转换为的类型 . 例如,如果添加float
和int
,则类型将为float
.编辑:如果你想用向量做一些事情,你可以做这样的事情: