由于刚接触c++,对于
#inlcude <iostream>
using namespace std
这两行经常出现的代码感觉挺懵,通过上网查资料,有了以下了解:
一、关于 < iostream>和<iostream.h>
作为从C语言过来的人,对于<iostream.h>应该不陌生。它是非标准输入输出流,继承C语言的标准库文件,如果使用它的话,我们在使用cin,cout等函数时可以直接使用而不会报错。
而对于前者,它属于标准输入输出流,如果选择它的话,如果使用cin,cout之类的函数需要在后面加上命名空间:
using namespace std
二、关于标准命名空间
std是C++标准程序库定义的一个命名空间。
我们在使用命名空间时,有以下三种用法:
- 直接使用指定表示符
比如
std::cout<<"123"<<std::endl
像这样调用函数的时候,需要在前面加入std::
- 使用using关键字
using std::cout
using std::endl
像这样定义的话,后面就可以直接使用函数了:
cout<<"123"<<endl
- 使用using namespace std
这是最简单偷懒的方法,使用完之后就可以像2中一样直接使用函数就行了。
三、使用自己定义的命名空间
我们可以用以下方法定义命名空间:
namespace myown1{
string user_name = "abc ";
}
此时的myown1在使用地位上和std是相同的
若是多个命名空间出现相同的表示符,可以,就采用命名空间的第一种方法去区分开这些函数就行了。
namespace myown1{
string user_name = "123 ";
}
namespace myown2{
string user_name = "456 ";
}
这样在使用时用以下方法:
使用myown1的标识符
cout < < "/n " < < "Hello, " < < myown1::user_name
使用myown2的标识符
cout < < "/n " < < "Hello, " < < myown2::user_name
初步了解就是这些