初步认识c++之命名空间详解(千字长文带你刨析你命名空间的细节)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初步认识c++之命名空间详解(千字长文带你刨析你命名空间的细节)相关的知识,希望对你有一定的参考价值。

初识c++之命名空间详解

1.命名空间 :namespace

当我们使用命名空间的时候

就会发现原本的报错就消失了!这就是命名空间的功能:==影响编译查找规则==!

1.1域作用限定符 ::

1.2命名空间的本质

1.2.1命名空间中的变量!

1.3命名空间的合并和嵌套

//上面的程序等同于
namespace test

	struct  ListNode
	
		int val;
		struct ListNode* next;
	;

namespace test

	struct stack
	
		int* a;
		int top;
		int capacity;
	;


int main()

	test::ListNode a;
	a.val = 0;
	a.next = NULL;

	test::stack b;
	b.capacity = 0;
	b.top = 0;
	b.a = NULL;
	printf("val:%d capacity:%d top:%d", a.val, b.capacity, b.top);

namespace test

	struct  ListNode
	
		int val;
		struct ListNode* next;
	;
	namespace test
	
		struct stack
		
			int* a;
			int top;
			int capacity;
		;
	

int main()

	test::ListNode a;
	a.val = 0;
	a.next = NULL;

	test::stack b;//test::test::stack b;这才是正确写法
	b.capacity = 0;
	b.top = 0;
	b.a = NULL;
	printf("val:%d capacity:%d top:%d", a.val, b.capacity, b.top);
//这样写的话程序就会出现报错!

1.4官方命名空间std

以上是关于初步认识c++之命名空间详解(千字长文带你刨析你命名空间的细节)的主要内容,如果未能解决你的问题,请参考以下文章

c++之类和对象——类的定义,存储方式,this指针!(五千字长文详解!)

C++ 之string类常用接口功能解析(7千字长文带你玩懂string!)

c++之引用(五千字长文详解!)

C++之string的底层简单实现!(七千字长文详解)

c++之构造函数,析构函数(五千字长文详解!)

const成员,流插入,流提取重载,初始化列表! 流插入,流提取的重载(6千字长文详解!)