时间:2021-05-20
namespace命名空间是C++中一个非常重要的概念,本文实例展示了namespace的相关语法,供大家参考。具体如下:
本段测试代码包括如下内容:
(1) 如何访问namespace中声明的名称;
(2) namespace导致的相关冲突;
(3) namespace可嵌套;
(4) 可以在namespace中使用using声明和using编译命令;
(5) 未命名的namespace:其作用域为定义该namespace所在的声明区域。C++推荐用来替代static定义静态变量。
具体程序代码如下:
#include <iostream>using namespace std;namespace jerry{ int height; int weight; void showHeight(); string name;}//namespace jerry{ void showHeight() { cout<<"Method 3: Jerry height: "<<height<<" kg"<<endl; }}namespace elements{ namespace fire { int flame; using namespace jerry; //(4) can use 'using' in namespace define using std::cout; } float water;}//(5) no name namespace//其作用域为定义时所在的声明域,可用来替换static变量,这是C++标准推荐的行为namespace { string data;}void testFun();int main(){ cout<<"This code is to test namespace"<<endl; //(1) To access the data in namespace //Method 1: 作用域解析符 jerry::height = 165; cout<<"Method 1: Jerry height: " << jerry::height <<" cm"<<endl; //Method 2: using声明 using jerry::weight; weight = 64; cout<<"Method 2: Jerry weight: " << weight<<" kg"<<endl; //Method 3: using编译指令:All the define data in namespace jerry can be access. using namespace jerry; showHeight(); //(2) about name conflict { jerry::name = "Jerry"; string name = "Tom"; //using jerry::name; Error cout << "name: "<<name<<endl; cout << "name: "<<jerry::name<<endl; using namespace jerry; //局部变量会覆盖jerry命名空间的name定义 cout << "name: "<<name<<endl; } //(3) namespace can nest elements::fire::flame = 2; using namespace elements::fire; //(5) no name namespace //其作用域为定义时所在的声明域,可用来替换static变量,这是C++标准推荐的行为 data = "hello"; cout<<"No name namespace: data: " << data <<endl; testFun();}void testFun(){ //(5) no name namespace data = "hello in function"; cout<<"No name namespace: data: " << data <<endl;}运行结果如下图所示:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
命名空间是C++非常重要的概念,本文就以实例形式对其进行深入分析,具体内容如下:通常来说,在C++中,命名空间(namespace)的目的是为了防止名字冲突。每
namespace即“命名空间”,也称“名称空间”、”名字空间”。JavaScript不像C#或Java,有专门的namespace和package语法支持,当
本文详细叙述了C/C++的位操作,这是C/C++程序设计中非常重要的概念。本文实例对于C/C++初学者来说也具有很好的复习与参考价值。具体分析如下:C/C++对
本文实例讲述了C++使用CriticalSection实现线程同步的方法,在前文C++线程同步实例分析的基础上增加了四行代码,使用了四个函数:EnterCrit
本文实例讲述了C++实现raw_input的方法,分享给大家供大家参考。具体方法分析如下:用惯了Python,现在写C++的代码感觉有点不太顺畅。今天就来实例演