c++之命名空间namespace
1命名空间解决全局变量的冲突
main.h文件
#pragma once
// data命名空间的名称
namespace data
{
int num = ;//外部全局变量冲突
} main.cpp
#include"main.h"
#include<iostream>
using namespace std; int num = ; void main()
{
cout << num << endl;
cout << data::num << endl;//::域作用符 此处必须使用域作用符 cin.get();
}
2命名空间没有私有,全部变量,函数都是公有,可以访问
using namespace data;//使用命名空间,直接访问当作全局变量
内层覆盖外层,
::num 直接访问全局变量,全局变量不存在就是0
使用命名空间必须在定义之后
#include<iostream> using namespace std; //命名空间没有私有,全部变量,函数都是公有,可以访问
//using namespace data;//使用命名空间,直接访问当作全局变量
//内层覆盖外层,
//::num 直接访问全局变量,全局变量不存在就是0
//使用命名空间必须在定义之后 namespace data
{
int num; void show()
{
cout << num << endl;
} }
using namespace data;//使用命名空间,直接访问当作全局变量 //内层覆盖外层,
namespace dataX
{
int num=;
namespace run
{
int num = ;
void show()
{
//::num 直接访问全局变量,全局变量不存在就是0
cout << dataX::num << endl;
} } }
using namespace dataX;//使用命名空间必须在定义之后 void main()
{
dataX::run::show(); cin.get();
}
void main1x()
{ data::num = ;
show(); cin.get();
}
3命名空间的使用
#include<iostream>
#include<cstdlib>
using namespace std; namespace string1
{
char str[]{ "calc" };
}
namespace string2
{
char str[]{ "notepad" };
}
//命名空间拓展,名称相同,同一个命名空间
//瀑布式开发
namespace string2
{
char cmd[]{ "notepad" };
void show()
{
cout << str << endl;
}
} //命名空间,可以无限嵌套
namespace run
{
namespace runit
{
namespace runitout
{
int num = ;
void show()
{
cout << num << endl;
}
}
} } void main()
{
//system(string2::str);
//string2::show();//命名空间的函数与变量
run::runit::runitout::num = ;
run::runit::runitout::show(); system("pause");
}
4匿名命名空间
#include<iostream> using namespace std; //匿名命名空间等同全局变量
namespace
{
int x = ;
} void main()
{
x = ;
cout << x << endl; cin.get(); }
c++之命名空间namespace的更多相关文章
- PHP 命名空间(namespace)
PHP 命名空间(namespace) PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物. 不过在PHP当中还是有着相当重要的意义 ...
- Atitit 深入理解命名空间namespace java c# php js
Atitit 深入理解命名空间namespace java c# php js 1.1. Namespace还是package1 1.2. import同时解决了令人头疼的include1 1.3 ...
- PHP 使用命名空间(namespace),实现自动加载
示例: #/DB/MySql.class.php也就是DB文件夹下有MySql.class.php文件 namespace DB; class MySql { public function __co ...
- PHP命名空间(Namespace)的使用详解(转)
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...
- PHP命名空间(Namespace)的使用详解
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...
- include与__autoload与命名空间namespace与PSR4详解
1. include, require, include_once, require_once include和require是PHP中引入源文件最基本的用法,其他例如__autoload, name ...
- PHP深入浅出之命名空间(Namespace)的使用详解
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...
- 第十一节,命名空间namespace
1,命名空间的定义 命名空间可以把不同的方法分散到不同的文件去实现,如果你会objective-C,他的作用和里面的类目有异曲同工之妙.当然了也有很多不同的地方,首先要明白的是,命名空间并不是一个类, ...
- C++笔记008:C++对C的扩展——命名空间 namespace基础
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一, 命名空间的意义 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 我认识两位叫“A”的朋友,一 ...
- PHP的命名空间namespace
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...
随机推荐
- JS(五)
感觉JS里面还是有很多小技巧的,知道套路了,其实实现起来其实也还没有想象中的那么复杂.不过我觉得还是要把所学的知识融会贯通吧,不能学了JS就忘了前面的知识,结合起来才会威力无穷. 1.跑马灯:弹弹弹 ...
- Thinkphp中distinct的用法
Thinkphp中distincat的用法 TP中distinct()的用处主要是去除重复的值 在Thinkphp手册中也详细说明了(链接:http://document.thinkphp.cn/ma ...
- Linux查找yum安装软件在系统中路径
find文件查找http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html
- css流式和弹性布局(未完)
(子容器%父容器)*100 png透明ie6中filter:progid:DXImageTransfornm.Microsoft.AlphaImageLoader( src='路径',sizingMe ...
- 深入解读ESB与SOA的关系
时至今日,SOA的概念渐渐清晰了. 有关ESB的概念,已经吵了好多年了,还是没有定论. 我个人认为,ESB本来就是抽象的概念,而且内涵丰富,在不同的场合含义不同.因此应该从不同的角度来认识. ...
- 浙江大学PAT上机题解析之5-05. QQ帐户的申请与登陆
实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式说明: 输入首先给出一个正整数N(<=105),随后给出N行指令.每行指令的格式为:“命令符 ...
- 关于CCRect
一直有一个误区,因为之前处理的公司引擎是屏幕坐标系 导致觉得CCRect的坐标起始值(x,y),习惯性的认为就是左上角的点. 但是,真正的x,y值,是跟x轴与y轴相对应的.
- Java基础知识强化33:String类之String类的获取功能
1. String类的获取功能 int length() // 获取字符串中字符的个数(长度) char charAt(int index)//根据位置获取字符 int indexOf(int ch) ...
- 网页、JavaScript 的DOM操作
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. Windows 对象操作 ...
- html 使用表单标签,与用户交互
使用表单标签,与用户交互 网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据. 语法: <form ...