C++_命名空间namespace 与 using编译指令 与 using声明使用。

命名空间:

C++中允许用户创建自己的用户空间。可以通过关键字namespace 声明即可

需要注意的事项:

名称空间可以是全局的,也可以位于另一个名称空间中,但不能位于代码块中。

示例代码如下:

#include <iostream>

using namespace std;

namespace Jill{
	double bucket(double a){ return a + 3; }
	double fetch;
	struct Hill{
		int a;
		int b;
	};
};

int main(){

	Jill::fetch = 3;

	cout << Jill::bucket(2) << endl;

	return 0;
}



using指令:


using 声明使特定的标示符可用。

示例如下:如同使用了包里的一个变量,在接下来的作用域里不需要显示使用作用域标示符,也不能定义同名变量。

#include <iostream>

using namespace std;

namespace Jill{
	double bucket(double a){ return a + 3; }
	double fetch;
	struct Hill{
		int a;
		int b;
	};
};



int main(){

	using Jill::fetch;

	Jill::fetch = 7;
	
	double fetch;


	cin >> fetch;
	cout << fetch << endl;
	cout << Jill::fetch << endl;

	cout << Jill::bucket(2) << endl;

	return 0;
}







using 编译指令使整个名称空间可用。

#include <iostream>

using namespace std;

namespace Jill{
	double bucket(double a){ return a + 3; }
	double fetch;
	struct Hill{
		int a;
		int b;
	};
};



int main(){

	using namespace Jill;

	Jill::fetch = 7;
	
	//double fetch;


	cin >> fetch;
	cout << fetch << endl;
	cout << Jill::fetch << endl;

	cout << Jill::bucket(2) << endl;

	return 0;
}


命名空间是开放的(open),可以把名称加入到已有的名称空间中。例如下面的语句:

namespace Jill{

char * goose(const char *);

}

可以在文件的后面(或另外一个文件中)再次使用Jack名称空间来提供该函数的代码。

namespace Jill{

char * goose(const char * xx){

.........

}

}


可以给命名空间取别名。

如:namespace mvft  =  my_very_favorite_things;

namespace MEF =  myth::elements::fire;


#include <iostream>

using namespace std;

namespace Jill{
	double bucket(double a){ return a + 3; }
	double fetch;
	struct Hill{
		int a;
		int b;
	};
	namespace Pick{
		int abile;
	}
};

namespace tank = Jill::Pick;

int main(){

	Jill::fetch = 3;
	tank::abile = 4;

	cout << tank::abile << endl;
	cout << Jill::bucket(2) << endl;

	return 0;
}



可以定义省略名称空间的名称来创建未命名的名称空间:

namespace{

int  ice;

int  bandycoot;

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值