This question already has answers here:
My cpp program is not being asking for input.
(2个答案)
2年前关闭。
这是程序。我认为应该给出一个错误。但是它编译并输出为
附言我知道
但是我的问题是为什么我们能够在这里声明
(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