您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记--名称空间

2014-12-11 23:01 274 查看
名称空间是为了更好的控制名称的作用域,以管理不同的类库,避免发生冲突。

1、创建名称空间

如下,使用namespace关键字创建了pers和debts两个名称空间。

#ifndef NAMESP_H_
#define NAMESP_H_
namespace pers
{
const int LEN = 40;
struct Person
{
char fname[LEN];
char lname[LEN];
};
void GetPerson(Person &);
void ShowPerson(const Person &);
}

namespace debts
{
using namespace pers;
struct Debt
{
Person name;
double amount;
};
void GetDebts(Debt &);
void ShowDebts(const Debt &);
double SumDebts(const Debt arr[], int n);
}
#endif


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

分类:

(1)用户定义的名称空间(使用namespace关键字)

(2)全局名称空间 (不定义名称空间的情况下,都属于全局名称空间)

2、使用名称空间

(1)using声明

using std::cout;

using pers::Person

using声明使特定的标识符可用

(2)using编译指令

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

如:

using namespace std;

using namespace pers;

注:

(1)使用using声明比使用using编译指令更安全

(2)优先使用域解析操作符(::)或using声明

(3)对于using声明,首选将其作用域设置为局部而不是全局。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: