自己做网站能赚钱么,网站论坛模板下载,婚庆公司套餐价目表,php网站如何绑定一级域名到子目录前言#xff1a;C#xff0c;即cplusplus#xff0c;顾名思义#xff0c;是C语言promax版本#xff0c;C兼容C语言。 C的诞生是因为贝尔实验室的本贾尼等大佬认为C语言的语法坑实在太多#xff0c;拥有许多不足之处#xff08;比如命名冲突#xff0c;#xff09;C即cplusplus顾名思义是C语言promax版本C兼容C语言。 C的诞生是因为贝尔实验室的本贾尼等大佬认为C语言的语法坑实在太多拥有许多不足之处比如命名冲突在长期的使用后感觉多有不便因此发明了C以弥补填上这些语法坑。 目录 命名空间1.命名空间与域作用限定符::2.展开命名空间3.套娃 命名空间
在了解命名空间前博主先提出一个小问题我们常常在C的文件开头包using namespace std;那么你知道这句话的作用是什么吗 下文黄底片段 C语言中存在着命名冲突的问题假如未来你和你的同事合作负责一个项目当你们各自负责的库链接起来后就可能出现命名冲突问题比如你们声明定义了同名的变量在C语言中这种时候只能你们之中有一人做出让步将所有该变量改成别名。C的命名空间就是为解决这种情况而诞生的。 1.命名空间与域作用限定符::
namespace example
{//命名空间中可以定义变量/函数/类。int a 0;int Add(int x,int y){return xy;}
}
int main()
{//可以将命名空间想象成一个围墙围墙里面的东西必须要有权限才能访问。//cout a endl; 实操后发现并不能打印出a的值cout example::a endl; //域作用限定符:: 借助该符号可以访问命名空间里的数据。return 0;
}2.展开命名空间
一.部分展开授权 假如我们需要经常使用上面创建的命名空间里的Add函数但是每次都使用域作用限定符又显得特别繁琐。这是我们就可以展开部分命名空间。 格式为using example::Add; namespace example
{int a 0;int Add(int x,int y){return xy;}
}
using example::Add; //展开部分命名空间
int main()
{cout Add(1,2) endl; //这里并没有运用与操作限定符却也可以使用命名空间里的Add函数。return 0;
}二.全部展开 形式using namespace example; std是C标准库的命名空间using namespace std;就是全部展开C标准库如果没有展开std那么coutcin等语法都无法使用 namespace example
{int a 0;int Add(int x, int y) {return x y;}
}
using namespace example; //全部展开命名空间
int main()
{//不用域作用限定符也可访问example里的变量函数cout a endl;cout Add(1, 2) endl;return 0;
}3.套娃 命名空间里可以嵌套使用命名空间不过一般不会这么使用但是偶然看到后也不要惊奇。 namespace example
{int a 0;namespace instance{int a 1;}int main()
{cout example::a endl; // 0cout example::instance::a endl; // 1return 0;
}总结综上命名空间的使用共有3种方式。 今后若是想定义两个甚至多个同名的变量可以将它们放在不同的命名空间中。 使用好命名空间会让你在以后的练习和工作中减少许多不必要的麻烦。 文末BB对哪里有问题的朋友尽管在评论区留言若哪里写的有问题也欢迎朋友们在评论区指出博主看到后会第一时间确定修改。最后制作不易如果对朋友们有帮助的话,希望能动动你们发财的小手给点点赞和关注.