命名空间
此概念的出现是为了解决C语言中部分命名冲突的问题。
定义命名空间需要使用namespace关键字,然后衔接命名空间的名字和一对{},将命名空间的成员放入其中,如以下格式:
namespace me{}
一、命名空间的定义
1,命名空间可以定义变量/函数/类型
namespace me
{
int age=20;
void stuhdy()
{
printf("studying");
}
struct student_number
{
struct*next;
int val;
}
}
2,命名空间可以嵌套,同一个工程中可以存在多个相同名称的命名空间,编译器最后会合成到同一个命名空间之中。
3,一个命名空间就定义了一个新的作用域,命名空间中的所有内容都会局限于这个命名空间中。
二、命名空间的使用
1,加命名空间名称及作用域限定符
namespace N
{
int a=0;
}
int main()
{
printf(%d\n",N::a);
return 0;
}
2,使用using将命名空间中某个成员引入
using N::b
int main()
{
printf("%d\n",b);
return 0;
}
3,使用using namespace将命名空间整个引入
using namespace me;
int main()
{
printf("%d\n",age);
study();
}
输入&输出
<<是流插入运算符;>>是流提取运算符。
使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,要包含<iostream>头文件以及按照命名空间使用方法使用std。
endl是一个C++符号,表示换行。
int main()
{
cout<<"hello"<<endl;
}
这个使用方式会自动识别类型,因此会比较方便,但如果碰到小数需要指定精度的话,用C++会比较麻烦,因此可以使用C语言来实现这个功能,cpp是支持c语言的。
值得一提的是,如果直接使用using namespace std,在大型项目中很可能会出现命名冲突的问题,因此建议使用std::cout这样的方式,可以提高项目开发的效率。当然,在日常练习中,一般直接使用using namespace std就可以了。