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中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...
随机推荐
- iOS--tableview分组
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ ; } -(NSInteger)tableView:(UITable ...
- (转)iOS消息推送机制中pem文件的生成
转自:http://2015.iteye.com/blog/1567777 以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件 ...
- Xcode Build Setting Reference
https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/ ...
- Jmeter数据库连接
1.添加配置元件:测试计划右键-->配置元件-->JDBC Connection Configuration如下图: 注意:上述的Variable Name:在后续的JDBC Reques ...
- openwrt上网配置的一些理解(二)
上一篇里面遇到了只能静态上网的问题,动态不行.所以再接再励,问题总是要解决的,偷懒的下场就是一直停留在菜鸟的水平. 首先分析下问题,要动态上网,首先我要明确不是动态获取不了IP,是获取了,上不了外网. ...
- [ES6] Array -- Destructuring and Rest Parameters && for ..of && Arrat.find()
We can use the destructing and rest parameters at the same time when dealing with Array opration. Ex ...
- C# winform xml的增删改查
代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using Syst ...
- IO-File 文件 目录 基本操作 递归 遍历
创建和删除 //创建文件 File file1 = new File("不存在的文件.txt");//注意,这一步并没有创建文件,只是把磁盘中的文件封装成了一个对象 System. ...
- 安装XP和Ubuntu双系统问题——Ubuntu安装时无法识别原有系统
我主机本来安装了windows xp 和unbuntu15.04,由于在ubuntu下不小心卸载某依赖后,无法登入桌面,网上查了好多资料,原因各种,解决途径也各种,最终是还没有解决问题.各种更新,各种 ...
- [C#] 常用函数
查找字符串: string test="a,b,c,de"; 方法1:Contains test.Contains("b") //返回值 true 方法2:E ...