c++ - 为什么我必须在包含后写 std::cin?
问题描述
据我所知,<iostream>
标题包含输入/输出所需的一切。但是为什么我们在likestd::
之前又写了命名空间呢?cin
std::cin>>var;
#include <iostream>
int main(int argc, char const *argv[]) {
int var;
std::cin>>var;
return 0;
}
解决方案
标头定义了命名空间内<iostream>
的变量。cin
std
如果您想在不使用命名空间前缀的情况下使用它,那么您可以使用
using namespace std;
包含头文件后,但请阅读为什么是“使用命名空间std;” 被认为是不好的做法?.
作为妥协,你可以做
using std::cin;
仅将std::cin
自身拉入当前范围,仅此而已。
推荐阅读
- android - Android workmanager 计划的工作人员在任务被杀死后丢失
- networking - 多路径 TCP 数据包乱序
- javascript - jquery数据表不排序
- javascript - 尝试将 Jquery .load() 与多个 Id 选择器一起使用但没有成功
- android - 无法从 Android 模拟器访问 localhost,但在模拟器上它正在工作
- reactjs - 将 react-router v3 onEnter nextState 参数复制到 react-router-dom v4
- android - 约束布局在 android studio 中不可见
- angular - 在具有角度的物化 css 中显示带有类 materialbox 的 img 2+
- c - 在 J 中调用采用嵌套结构(通过引用)的 C 函数
- optaplanner - Optaplanner:在作为其链的最后一个实体的锚上已知的高性能实现