c++ - 有没有办法在 C++ 的参数中一遍又一遍地输入相同的数据类型?

标签 c++ parameters

与其这样做,

void myFunc(double, double, double, double, double, double, double);

有没有办法限制相同数据类型的使用并减少它?我知道可能没有更简单的方法可以做到这一点,但如果有就更好了。

最佳答案

如果是在声明函数时可以使用 variadic template function .也许不会减少打字,但会更灵活。这返回双倍。对于 C++11 及更高版本。

double myFunc() {
    return 0.0;
}

template<typename H, typename ...T> double myFunc(H head, T... tail) {
    head += myFunc(tail...);
    return head;
};

int main(int argc, char const *argv[])
{
    auto a = myFunc();
    std::cout << "a: " << a << std::endl;
    auto b = myFunc(1.0, 1.1, 1.2, 1.3);
    std::cout << "b: " << b << std::endl;
    return 0;
}

输出

a: 0
b: 4.6

关于c++ - 有没有办法在 C++ 的参数中一遍又一遍地输入相同的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35356428/

相关文章:

python - 有时为参数而不是参数对象传递复杂的字典是否更好?

jquery - 使用 jQuery 在 ajax 调用期间将参数附加到 url

c++ - 没有合适的默认构造函数可用

C++ MPI 标准 3

C++:从字符串流到字符**

c++ - Qpid 质子 C++ - 质子::make_work

java - C++ 创建 .堆上的运算符?

c# - 一个参数或多个

c - 将两个不同的结构传递给同一个函数

php - 等于posix regex c++中的pcre regex