This question already has answers here:
My cpp program is not being asking for input.
                                
                                    (2个答案)
                                
                        
                                2年前关闭。
            
                    
#include<iostream>
using namespace std;
int main ()
{
    int cin;
    cin >> cin;
    cout << "cin" << cin;
    return 0;
}


这是程序。我认为应该给出一个错误。但是它编译并输出为cin0。即cin+junkvalue

附言我知道cin >> cin在这里是一个移位操作。
但是我的问题是为什么我们能够在这里声明int cin

最佳答案

您可以在与某些现有变量不同的范围内声明任何变量名称。 cin不是关键字或保留名称,只是输入流的正式名称。实际上,如果您在代码中未使用using namespace std;,则可以执行std::cin >> cin;并从标准输入中读取整数值。 [[应该添加,即使使用using namespace std;,您仍然可以使用名称空间限定符,因此std::cin >> cin;既可以使用“ with”也可以使用“ without”-我的意思是,通常使用using namespace ...是一个坏习惯,我更喜欢只在需要的地方键入名称空间]

显然,做这些事情通常是一个坏主意。但是,只要您知道自己在做什么并且不需要同时使用两者,就可以很好地定义它并“起作用”。

关于c++ - int cin。仍在工作如何? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36111849/

10-16 04:53