#include <iostream>
using namespace std;
int main()
{
cout << "hello world" << endl;
return 0;
}
代码解释:
1. iostream 指输入输出流,全称为 input output stream,stream为“流”的意思;
2. using namespace std:极力不推荐使用这种表达方式,这种表达方式的意思是:可以去 std 中找变量,一般写成 using std :: 某某变量,只做部分展开。
当一项大工程需要多人写代码时,我可能写了一段代码,使用了一些变量,你也可能写了一段代码,也使用了一些变量,实际情况可能是我用的变量你也在用,这样我俩的代码合在一起时,变量就冲突了,导致程序崩溃,于是想出来一种办法,叫命名空间,关键字是namespaces,实际操作时把我的所有代码写成 namespaces 某某某标签1 {我写的所有代码},你写的所有代码写成namespaces 某某某标签2 {你写的所有代码},这样我俩的代码中的变量都是局部变量,合在一起时不会冲突,使用我代码中的某个变量时,用某某某标签1 :: 我写的变量,使用你代码中的某个变量时,用 某某某标签2 :: 你写的变量,但是一旦你写成 using namespace 某某某 时,就表示计算机可以去 某某某 中找变量,结果就是 你定义的全局变量可能跟 某某某 中的变量冲突,导致程序崩溃出错。举个简单例子,cin 在 C++ 中是输入流,如果你写成下面形式就出错了
如果不对 std 使用 using namespace std,则程序正常
所以一般写成 using std :: 某某变量,只做部分展开。为了更地道的写出 C++,下面用 using std :: 某某变量 将 printf 也换掉,写成如下形式
另外, namespace 某某某标签1 { 我写的所有代码} 这种定义方式即使出现了 某某某标签1 与别人重复的情况,也只要改这一处即可,如果没有这种格式,那么所要修改的变量范围可能是不可计数的。 namespace是可以嵌套的;另外 namespace std 表示将标准库里的东西放到 std 中去;
3. cout 表示输出流,全称为 console output,与之对印的是输出流cin,全称为 console intput;
4. << 表示流插入,如 cout << "hello world" << endl表示把 hello world 插入到 cout 中去,再把 endl 插入到 cout,其中 endl 表示 \n;
5. :: 表示域作用限定符,如 std :: a 表示去 std 中去找 a,若 :: 左边什么也没有表示全局域,即去全局变量中找a。
6. using std :: cout 表示将 std 中的 cout 展开;
7. .h .cpp .test 里都定义 namespace bit 时,系统会认为只有一个 bit,即 .h .cpp .test 里面定义的东西都在一个 bit 中。