国际辛.仍然如何工作

int cin. Still Working How?

本文关键字:工作 何工作      更新时间:2023-10-16
#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;"使用"和"不使用"该语句 - 我的意思是,一般来说,使用using namespace ...是一个坏习惯,我更喜欢在需要的地方键入命名空间]

显然,做这些事情通常是一个坏主意。但它的定义很明确,只要你知道自己在做什么并且不需要同时需要两者,它就会"有效"。