C++命名空间
来源:互联网 发布:java中getresource方法 编辑:程序博客网 时间:2024/06/14 04:30
资料摘自《C++ Primer Plus》
c++关于全局变量和局部变量的规则定义了一种名称空间层次。每个声明区域都可以声明名称,这些名称独立于其他声明区域中声明的名称。在一个函数中声明的局部变量不会与在另一个函数中声明的局部变量发生冲突。
使用关键字namespace创建名称空间
namespace Jack {
double pail;
void fetch();
int pal;
struct Well {...};
}
namespace Jill {
double bucket(double n) {...}
double fetch;
int pal;
struct Hill{...};
}
名称空间可以是全局的,也可以位于另一个名称空间中,但不能位于代码块中。除用户定义的名称空间外,存在另一个名称空间--全局名称空间。
访问名称空间中的名称
Jack::pail = 2.34;
Jill::Hill mole;
Jack::fetch();
使用using
using Jill::fetch; //using声明:使该空间下指定的名称可用
using namespace Jack; //using编译指令:使该空间下所有的名称都可用
using namespace std;
fetch(); //调用的是Jack::fetch();
cout << pal << endl; //使用的是Jack::pal
名称空间嵌套
namespace elements {
namespace fire {
int flame; //即elements::fire::flame
...
}
float water;
}
未命名的名称空间
namespace {
int ice;
int bandycoot;
}
示例:
namespace Jill {
double bucket(double n) {...}
double fetch;
struct Hill {...};
}
char fetch; //全局空间
int main() {
using namespace Jill;
Hill Thrill; //使用Jill::Hill
double water = bucket(2); //使用Jill::bucket(double)
double fetch; //局部fetch
std::cin >> fetch;
std::cin >> ::fetch; //全局空间的fetch
std::cin >> Jill::fetch; //Jill空间下的fetch
}
- C/C++:命名空间
- C++-namespace(命名空间)
- C++-namespace(命名空间)
- C++namespace命名空间
- C#.Net命名空间
- C++_命名空间
- C++namespace命名空间
- 【C++】命名空间
- [C++]namespace命名空间
- C\C++命名空间
- C++:命名空间(namespace)
- [c++]命名空间
- <C++>2.命名空间
- C语言命名空间详解
- C++Primer学习-命名空间
- 《C++Primer》读书笔记--命名空间
- C++std命名空间详解
- 《C++》15 C++ 命名空间
- POJ 2823 Sliding Window(优先队列)
- 图形学中的Hermite曲线
- iOS渐隐渐现效果跳转
- CodeForces 379A Valera and Plates
- 远离国产!电脑垃圾清理工具:ccleaner和CleanMyMac
- C++命名空间
- 随机数,and()、random()、arc4random()
- JNI编程学习(一)
- Google Hacking
- makefile同名目标处理
- Android Studio 圆形头像
- Windows10开启热点
- 小小银联卡系统(控制台)
- 七大排序问题之归并排序(PHP版)