名称空间

using 声明和using 编译指令

using 声明将特定的名称添加到它所属的声明区域中。

using std::cout;

将cout添加到声明区中,声明扣可以用cout<<代替 std::cout<<

int main()

{

  using std::cout;

  cout<<"a";

  std::cin.get();

}

using声明使一个名称可用,而using 编译指令使所有的名称都可以用。

using namespace std;

int main()

{

  cout<<"aa";

  cin.get();

}

名称空间使用原则:

1.使用已命名的名称空间中声明的变量,而不是使用外部全局变量

2.使用已命名的名称空间中声明的变量,而不是使用静态全局变量

3.如果开发了一个函数库或类库,将其放在一个名称空间中。事实上,c++当前提倡将标准函数库

   放在名称空间std中,这种做法扩展到了来自c语言中的函数。

4.仅将编译指令using作为一种将旧代码转换为使用名称空间的权宜之计

5.不要在头文件中使用using编译指令。首先,这样做掩盖了要让哪些名称可用;另外,包含头文件的顺序可能

   影响程序的行为。如果非要使用编译指令using,应将其放在所有预处理器编译指令#include之后

6.导入名称时,首选使用作用域解析运算符或using 声明方法

7.对于using 声明,首选将其作用域设置为局部而不是全局

时间: 2024-10-30 12:11:55

名称空间的相关文章

创建、查询、修改带名称空间的 XML 文件的例子

xml|创建 XML的应用越来越广泛了,如Vista.Flex编程都将使用 XML,正确掌握XML的各种操作,对提高编程效率至关重要.下面就是一个综合处理带名称空间的XML的例子.C#:string w3NameSpace = "http://www.w3.org/2000/xmlns/";System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); //创建根节点System.Xml.XmlNode root = doc.Cre

.net下对具有名称空间的XML使用XPath的方法

xml    这两天都在对一个其他公司提供的RSS接口进行编程,由于他们RSS提供的是1.0版本,其中的XML部分是有名称空间的,为此这一两天为了这个,摔了很多跟头,Unicode 编码的问题,XPath 的问题,XSLT 解析的问题.下面把这些问题的解决方法罗列出来,方便后来者.         使用 XPath 的问题: 由于存在名称空间,你的XPath需要额外的通过 XmlNamespaceManager 类进行一些设置.这个方法是我在:http://www.error-bank.com/

ASPX文件中默认导入的名称空间

ASPX默认导入的名称空间可以直接引用了,使用其它的名称空间就的自行导入了. 默认名称空间  System  System.Collections  System.Collections.Specialized  System.Configuration  System.Text  System.Text.RegularExpressions  System.Web  System.Web.Caching  System.Web.Security  System.Web.Se

PHP教程:PHP代码中的名称空间

在 PHP V5.3 中引入的名称空间是为 PHP 类.常量和函数提供上下文的一种方式,从而可以将使用相同名称的元素看作是惟一的.惟一的名称避免了命名冲突,当两个类或函数使用相同的名称时就会发生这种情况.有时这些 PHP 类表示现实世界中的相同对象,但它们的行为是完全不同的.名称空间能够确保您拥有正确的 PHP 类.常量或函数,并且要使用您的 PHP 类的人能够确保他们使用了正确的类. 代码中的名称空间就像现实世界中的上下文.考虑一个表示现实世界中的汽车对象的类.例如,通过 Internet 销

C#名称空间 VS Java包

   写了几天的C#程序,程序总会先声明一个名称空间:    namespace test    跟C++里名称空间一样,只是声明方法不同:   using namespace std;    名字空间是用来按照逻辑,对类进行划分,增强了程序的可读性,而且减少了命名的冲突.看到这个作用,我忽然想到了Java中的包,这两种东西感觉作用一致,都是为了避免名称冲突才进行一种区域性的划分的.    例如,java程序开头,总会先引入一些包:   import java.util.*;    这句话放在最

(一一二)名称空间

在C++之中,名称可以是变量.函数.结构.枚举.类以及类和结构的成员.随着项目的增大,名称相互冲突的可能性也将增加.   使用多个厂商的类库时,可能导致名称冲突.   例如两个类库都定义了名称为List.Tree和Node的类,但定义的方式并不兼容(一个干这个,一个干那个),如果你需要使用第一个的List,第二个的Tree,你就不能一口气把两个类库都包含进去(就像using namespace std和using std::cout那样),这会导致冲突,被称为名称空间问题.     声明区域:

C#同一个名称空间里,两个类,A类中有个单击事件,B类有个方法

问题描述 C#同一个名称空间里,两个类,A类中有个单击事件,B类有个方法 怎么实现A中一单击就B中方法就执行????? 谢谢!!!!!!! 解决方案 a.Click += new EventHandler((se, ar) => { b.方法(参数...); }); 解决方案二: 事件不是A自己响应的,是A实例的持有者响应的. 到响应的地方去调用B实例的方法(除非是静态方法,普通方法必须有实例才能调用). 解决方案三: 在a的单击事件中写: new B().click(); 解决方案四: usi

《C++游戏编程入门(第4版)》——1.3 使用std名称空间

1.3 使用std名称空间 C++游戏编程入门(第4版)因为经常要用到std名称空间中的元素,在此介绍两种不同的可以直接使用这些元素的方法,这样就不必总是使用std::前缀. 1.3.1 Game Over 2.0程序简介 Game Over 2.0程序的运行结果和图1.2所示的原始Game Over程序一模一样,但是区别在于访问std名称空间中元素的方式.从Cengage Learning网站(www.cengageptr.com/downloads上可以下载到该程序的代码.程序位于Chapt

在 XML Schema和WSDL中使用名称空间

对于名称空间,理解了OO思想的人应该是比较简单的了,特别是对学过C++的人来说更是如此;但很多看了我前面文章的朋友,在和我的交流中,好像对名称空间都不怎么清楚,下面我们就来说说怎么样在 XML Schema和WSDL中使用名称空间.先看看一段JAVA代码: package com.hongsoft.test.pkg1; import com.hongsoft.test.pkg2.Test1; import com.hongsoft.test.pkg2.Test2;在这个文件中,我们把com.ho

【js拾遗】名称空间

function NameSpace(ns) { if (!ns) { return null; } var arr = ns.split('.'); //第一次调用的时候window.utry的值为{}; //第二次调用的时候window.utry的值为window.utry; window[arr[0]] = window[arr[0]] || {}; //obj是window.utry的引用 var obj = window[arr[0]]; //result也是window.utry的引