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的更多相关文章

  1. PHP 命名空间(namespace)

    PHP 命名空间(namespace) PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物. 不过在PHP当中还是有着相当重要的意义 ...

  2. Atitit  深入理解命名空间namespace  java c# php js

    Atitit  深入理解命名空间namespace  java c# php js 1.1. Namespace还是package1 1.2. import同时解决了令人头疼的include1 1.3 ...

  3. PHP 使用命名空间(namespace),实现自动加载

    示例: #/DB/MySql.class.php也就是DB文件夹下有MySql.class.php文件 namespace DB; class MySql { public function __co ...

  4. PHP命名空间(Namespace)的使用详解(转)

    对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...

  5. PHP命名空间(Namespace)的使用详解

    对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...

  6. include与__autoload与命名空间namespace与PSR4详解

    1. include, require, include_once, require_once include和require是PHP中引入源文件最基本的用法,其他例如__autoload, name ...

  7. PHP深入浅出之命名空间(Namespace)的使用详解

    对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...

  8. 第十一节,命名空间namespace

    1,命名空间的定义 命名空间可以把不同的方法分散到不同的文件去实现,如果你会objective-C,他的作用和里面的类目有异曲同工之妙.当然了也有很多不同的地方,首先要明白的是,命名空间并不是一个类, ...

  9. C++笔记008:C++对C的扩展——命名空间 namespace基础

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一, 命名空间的意义 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 我认识两位叫“A”的朋友,一 ...

  10. PHP的命名空间namespace

    对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...

随机推荐

  1. iOS--tableview分组

    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ ; } -(NSInteger)tableView:(UITable ...

  2. (转)iOS消息推送机制中pem文件的生成

    转自:http://2015.iteye.com/blog/1567777 以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件 ...

  3. Xcode Build Setting Reference

    https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/ ...

  4. Jmeter数据库连接

    1.添加配置元件:测试计划右键-->配置元件-->JDBC Connection Configuration如下图: 注意:上述的Variable Name:在后续的JDBC Reques ...

  5. openwrt上网配置的一些理解(二)

    上一篇里面遇到了只能静态上网的问题,动态不行.所以再接再励,问题总是要解决的,偷懒的下场就是一直停留在菜鸟的水平. 首先分析下问题,要动态上网,首先我要明确不是动态获取不了IP,是获取了,上不了外网. ...

  6. [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 ...

  7. C# winform xml的增删改查

    代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using Syst ...

  8. IO-File 文件 目录 基本操作 递归 遍历

    创建和删除 //创建文件 File file1 = new File("不存在的文件.txt");//注意,这一步并没有创建文件,只是把磁盘中的文件封装成了一个对象 System. ...

  9. 安装XP和Ubuntu双系统问题——Ubuntu安装时无法识别原有系统

    我主机本来安装了windows xp 和unbuntu15.04,由于在ubuntu下不小心卸载某依赖后,无法登入桌面,网上查了好多资料,原因各种,解决途径也各种,最终是还没有解决问题.各种更新,各种 ...

  10. [C#] 常用函数

    查找字符串: string test="a,b,c,de"; 方法1:Contains test.Contains("b")  //返回值 true 方法2:E ...