Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么我们需要将cin的引用发送到函数,而不是在该函数中使用cin?_C++ - Fatal编程技术网

C++ 为什么我们需要将cin的引用发送到函数,而不是在该函数中使用cin?

C++ 为什么我们需要将cin的引用发送到函数,而不是在该函数中使用cin?,c++,C++,为什么我们需要将cin的引用发送到函数,而不是在该函数中使用cin 此函数用于填充向量。为什么第一个参数是必需的?我们就不能简单地说我们自己吗。以及为什么返回istream类型的引用?这张图片来自c++ 为什么我们需要将cin的引用发送到函数,而不是在该函数中使用cin?为什么第一个参数是必需的?我们就不能简单地说我们自己吗 你不需要。如果愿意,可以对std::cin的用法进行硬编码。但是,通过这种方式,该函数可以处理任何输入流。那样更有用。现在,您可以将引用传递给stringstream、fi

为什么我们需要将cin的引用发送到函数,而不是在该函数中使用cin

此函数用于填充向量。为什么第一个参数是必需的?我们就不能简单地说我们自己吗。以及为什么返回istream类型的引用?这张图片来自c++

为什么我们需要将cin的引用发送到函数,而不是在该函数中使用cin?为什么第一个参数是必需的?我们就不能简单地说我们自己吗

你不需要。如果愿意,可以对std::cin的用法进行硬编码。但是,通过这种方式,该函数可以处理任何输入流。那样更有用。现在,您可以将引用传递给stringstream、filestream……所有这些都不需要更改。标准库的设计就是以这种方式使用的,因此继承继承继承权

还有,为什么返回istream类型的引用


没有任何上下文很难确定,但这通常是为了允许链接。

可能是因为in可能不是必需的std::cin-它可以是任何其他istream

请编辑您的帖子,将代码添加为文本而不是图像如果您编写一个函数来添加两个数字,为什么要传递两个参数?也许下次你调用这个函数时,你不想传递cin,而是从一个文件中读取,或者从其他输入流中读取……是的,我知道。但到底有什么必要通过它呢。我们只需传递向量,然后使用cin填充向量,不是吗?@user8114776-可以使用许多其他类型的istream派生类,这就是reasonstd::ifstream input_filesample.txt;读取输入文件my_vec;请原谅,我是初学者。我不明白stringstream和filestream的事情。你能详细说明吗?@ USS811476:不,你可以在C++的书中读到它。这不是教语言的地方