有没有办法不在 c++ 中的参数中一遍又一遍地输入相同的数据类型
Is there a way to not enter the same data type over and over again in a parameter in c++?
而不是这样做,
void myFunc(double, double, double, double, double, double, double);
有没有办法限制相同数据类型的使用并精简它?我知道可能没有更简单的方法可以做到这一点,但如果有的话会很好。
如果是
在声明函数时,您可以使用可变参数模板函数。也许不是打字少,而是更灵活。这将返回双倍。适用于 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;
}
输出
答: 0
乙: 4.6
不,没有。您必须显式列出所有参数,并且没有为连续参数重复相同类型的简写。
如果函数有很多参数,您可能希望将其更改为将对象作为参数。或者,如果它们都在同一时间,您可以使用数组。
您可以使用
vector
或list
甚至array
对它们进行分组,并将其作为参数传递。但是,您应该确定数据的顺序,以便您可以在方法中操作正确的数据。
不,没有,这就是强类型编程语言的美妙之处。
相关文章:
- 如何格式化我的文本文件以使其不会一遍又一遍地重复同一行?
- 为什么当我输入一个大数字时,输出会一遍又一遍地重复?
- 我如何一遍又一遍地向用户提问,直到他们输入正确的值字段?
- c++ 一遍又一遍地对函数返回相同的检查
- 一遍又一遍地构造相同的对象
- 如何修复密码条目,它一次输入两个字符
- 如何强制 getline() 一次输入一行
- 要求用户一次输入 1 个 2D 数组的值
- 重复一组输入,存储并跟踪每个输入.C++
- SDL2似乎只每50ms轮询一次输入
- 重复上一次输入两次
- 有没有办法不在 c++ 中的参数中一遍又一遍地输入相同的数据类型
- Boost程序选项允许一组输入值
- 如何让数组在下一次输入之前显示数组内容的前一个列表?
- 一遍又一遍地创建同一个文本文件
- 变量不计数,即使一遍又一遍地调用函数
- 如何避免一遍又一遍地编写相同的模板
- 只使用一次输入的单词
- 一遍又一遍地传递对象的替代方法
- 一遍又一遍地验证文件时遇到问题