Zak*_*aku 0 c++ parameters arguments
我正在阅读本教程: https://www.learncpp.com/cpp-tutorial/how-to-design-your-first-programs/ 我注意到作者没有在此函数中使用参数:
int getUserInput()
{
std::cout << "Enter an integer ";
int input{};
std::cin >> input;
return input;
}
Run Code Online (Sandbox Code Playgroud)
做这样的事情可以吗?
int getUserInput(int input)
{
std::cout << "Enter an integer ";
std::cin >> input;
return input;
}
Run Code Online (Sandbox Code Playgroud)
它会起作用,但没有多大意义。
您的函数的第一个版本的使用方式如下:
int some_number = getUserInput();
Run Code Online (Sandbox Code Playgroud)
这就说得通了; 调用者没有向该函数提供任何输入,因此它不需要任何参数。
但第二个版本需要一个参数,因此调用者必须提供它。但该函数实际上并没有对该值执行任何操作。以下所有行为完全相同:
int some_number1 = getUserInput(0);
int some_number2 = getUserInput(123456);
int some_number3 = getUserInput(some_number2);
Run Code Online (Sandbox Code Playgroud)
调用者向函数提供参数是没有意义的,因为函数根本不使用它。