namespace和iostream

传智扫地僧课程学习笔记。


C中只有一个全局作用域,

因此可能发生标识符冲突,

特别是在一些大型项目中,

比如一个信息系统中是用了多个厂商的接口产品,这种情况下,这种问题造成的麻烦就更大了,


因此在C++中引入了,

namespace,

用于控制标识符的作用域,

其中std是C++的标准命名空间,


在此我们通过我们最熟悉的std先来介绍,

在iostream中,是没有定义cin和cout的,

如果要cout<<"hello world"<<endl;

要么在程序开头,显式声明,即using namespace std;

要么就得在用的时候这样写,std::cout<<"hello world"<<std::endl;


接在我们来讲自己定义的命名空间的使用,

#include "iostream"
using namespace std;

// 定义命名空间

namespace  namespaceA
{
	int a = 10;
}

namespace  namespaceB
{
	int a = 20;
	namespace namespaceC
	{
		struct Teacher
		{
			char name[32];
			int age ;
		};
	}
}

//4 使用命名空间
//
void main()
{
	using namespace namespaceA;
	using namespace namespaceB;
	cout<<namespaceA::a<<endl;
	cout<<namespaceB::a<<endl;

	//显示的, 写全
	{
		//namespaceB::namespaceC::Teacher t1;
		//t1.age = 33;
	}
	
	//

	using namespaceB::namespaceC::Teacher  ;
	Teacher t2;
	t2.age = 36;
	system("pause");
}

C++中,

用“iostream",

而不用”iostream.h",其实有,但是不用,或者说可能已经不支持,从而用不了了,



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值