C命名空间是什么?在编程中有什么作用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计812个文字,预计阅读时间需要4分钟。
随着项目规模的扩大,命名冲突的可能性也将增加。使用多个厂商的库时,可能引发命名冲突。例如,两个库都可能定义了名为List、Tree和Node的类,但定义的方式不兼容。用户可能会遇到命名冲突的问题。
随着项目的增大,名称相互冲突的可能性也将增加。使用多个厂商的类库时,可能导致名称冲突。例如,两个库可能都定义了名为List、Tree和Node的类,但定义的方式不兼容。用户可能希望使用一个库的List类,而使用另一个库的Tree类。这种冲突被称为名称空间问题。
1、使用关键字namespace创建命名空间
namespace Jack {
double pail;
void fetch();
}
namespace Jill {
double fetch;
int pal;
}
任何名称空间中的名称都不会与其他名称空间中的名称发生冲突。因此,Jack中的fetch可以与Jill中的fetch共存。
名称空间是开放的(open),即可以把名称加入到已有的名称空间中。
namespace Jill {
char *goose(const char *);
}
这条语句将名称goose添加到Jill中已有的名称列表中。
2、访问给定名称空间中的名称,使用作用域解析运算符::。
本文共计812个文字,预计阅读时间需要4分钟。
随着项目规模的扩大,命名冲突的可能性也将增加。使用多个厂商的库时,可能引发命名冲突。例如,两个库都可能定义了名为List、Tree和Node的类,但定义的方式不兼容。用户可能会遇到命名冲突的问题。
随着项目的增大,名称相互冲突的可能性也将增加。使用多个厂商的类库时,可能导致名称冲突。例如,两个库可能都定义了名为List、Tree和Node的类,但定义的方式不兼容。用户可能希望使用一个库的List类,而使用另一个库的Tree类。这种冲突被称为名称空间问题。
1、使用关键字namespace创建命名空间
namespace Jack {
double pail;
void fetch();
}
namespace Jill {
double fetch;
int pal;
}
任何名称空间中的名称都不会与其他名称空间中的名称发生冲突。因此,Jack中的fetch可以与Jill中的fetch共存。
名称空间是开放的(open),即可以把名称加入到已有的名称空间中。
namespace Jill {
char *goose(const char *);
}
这条语句将名称goose添加到Jill中已有的名称列表中。
2、访问给定名称空间中的名称,使用作用域解析运算符::。

