c++基础知识

1.namespace

所谓namespace 就是标志符的各种可见范围,C++标准库中的所有标志符都被定义与一个名为std 的namespace 空间

标准C++引入关键字 namespace (命名空间/名字空间),可以更好的控制标志符的左用域

std是c++标准命名空间,C++标准库中的所有标志符都被定义在std中,比如标准库的类iostream/vector等都定义在该命名空间,使用时要加上using 声明或using 指示如(std::cout)等

2.C 中的命名空间

  在c语言中只有一个全局作用域

  C语言中所有的全局标识符共享同一个作用域

  标识符之间可能发生冲突

3 C++提出了 命名空间的概念

  命名空间将全局作用域分成不同的部分

  不同命名空间中的标识符可以同名而不会发生冲突

  命名空间可以相互嵌套

  全局作用域也叫默认命名空间

4.C++命名空间的定义:

  namespace name{ . . . }

5.C++命名空间的使用:

  使用整个命名空间 :using namespace name;

  使用命名空间中的变量 :using name::variable;

  使用默认命名空间的变量; ::variable

 默认情况下可以直接使用默认命名空间中的所有标识符

6.C++命名空间编程实践

#include <iostream>
using namespace  std;
namespace namespaceA{
  int a=20;
};
namespace  namespaceB{
  int a=10;
   namespace  namespaceC{
   struct teacher{
     int age;
   };
   };
 };
 
 void main()
 {
 
    using namespace namespaceA;
	using  namespace  namespaceB;
	cout<<namespaceA::a<<enel;
	cout <<namspaceB::a <<endl;
	//teacher的使用方法1
	using namespaceB::namespaceC::teacher;
	teacher  t1;
	t1.age=20;
	//teacher 的使用方法2
	namespaceB::namespaceC::teacher  t2;
	t2.age=30;
   system{"pasue"};
 }

 

7.结论

1.当使用<iostream>的时候,该文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。若不引入using namespace std,需要这样做。std::out

2.C++标准为了和C 区别开,也为了正确使用命名空间,规定头文件不使用.h

3.c++命名空间的定义:namespace name{ ... }

4.using namespace name;

5.namespace定义可以嵌套

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值