3.1 命名空间using的声明

/*std::cin中“::”的意思是
编译器从操作符左侧名字所示的作用域中寻找右侧那个名字
因此std::cin的意思就是要是使用命名空间std中的名字cin。
本节将学习其中一种最安全的方法,也就是使用using声明,
(后面将会讲述另一种方法)其形式如下:
                       using namespace::name
一旦声明了上述语句就可以直接访问命名空间中的名字*/

# include<iostream>

//用户自定义的头文件中最好不要包含 using声明,否则会产生一些莫名其妙的错误
using std::cin;
using std::cout;
using std::endl;

int main()
{
    int i;
    cin >> i;
    cout << i;
    return 0;
}
时间: 2024-12-05 21:00:55

3.1 命名空间using的声明的相关文章

访问修饰符,命名空间

所有类型和类型成员都具有可访问性级别,用来控制是否可以在您程序集的其他代码中或其他程序集中使用它们. 可使用一下访问修饰符指定声明类型或成员时类型或成员的可访问性. public 同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员. private 只有同一类或结构中的代码可以访问该类型或成员. protected 只有同一类或结构或者此类的派生类中的代码才可以访问的类型或成员. internal 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以.

XML Namespace 命名空间

根据 Namespaces in XML W3C 推荐标准的定义,XML 命名空间 是由国际化资源标识符 (IRI) 标识的 XML 元素和属性集合:该集合通常称作 XML“词汇”. 定义 XML 命名空间的主要动机之一是在使用和重用多个词汇时避免名称冲突.XML 模式用于为 XML 实例创建一个词汇并频繁使用命名空间.因此,正确理解命名空间概念对于从总体上理解 XML 模式和实例验证至关重要. 命名空间在多个方面类似于 Java 中的程序包: Java 中的程序包可以包含许多可重用的类和接口.

C++ Primer 学习笔记_94_用于大型程序的工具 --命名空间[续3]

用于大型程序的工具 --命名空间[续3] 六.重载与命名空间 正如我们所见,每个命名空间维持自己的作用域,因此,作为两个不同命名空间的成员的函数不能互相重载.但是,给定命名空间可以包含一组重载函数成员. 1.候选函数与命名空间 命名空间对函数匹配有两个影响.一个影响是明显的:using声明或using 指示可以将函数加到候选集合.另一个影响则微妙得多. 正如前节所见,有一个或多个类类型形参的函数的名字查找包括定义每个形参类型的命名空间.这个规则还影响怎样确定候选集合,为找候选函数而查找定义形参类

c++命名空间瀑布

一般情况,函数放在命名空间外,命名空间内部放置声明 1 #include<iostream> 2 using namespace std; 3 4 //一般情况,函数放在命名空间外,命名空间内部放置声明 5 namespace data 6 { 7 int a; 8 int b; 9 int add(int a, int b); 10 11 } 12 int data::add(int a, int b)//data属于命名空间 13 { 14 return a + b; 15 16 } 17

转:C++中命名空间污染注意点 blog.sina.com.cn/s/blog_af68a2c201015pqo.html

一. 为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突. 在 C语言中定义了3个层次的作用域,即文件(编译单元).函数和复合语句.C++又引入了类作用域,类是出现在文件内的.在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们. 1.全局变量的作用域是整个程序,在同一作用域中不应有两个或多个同名的实体(enuty),包括变量.函数和类等. 例:如果在文件中定义了两个类,在这两个类中可以有同名的函数.在引用时,为了区

final关键字,类的自动加载,命名空间

final关键字 1.final可以修饰方法和类,但是不能修饰属性: 2.Final修饰的类不能被继承: 3.Fina修饰的方法不能被重写,子类可以对已被final修饰的父类进行访问,但是不能对父类的方法进行重写. 扩展内容: 类的自动加载: 什么是类的自动加载? Spl_autoload_register():注册给定的函数作为__autoload()函数的实现 类的自动加载 在最开始使用的是__autoload()进行自动加载,但是在PHP5.3之前,__autoload函数抛出的异常不能被

[email&#160;protected]命名空间(转)

转自http://hi.baidu.com/rainysky_2006/blog/item/a490e01fc3de7964f724e4d1.html 本讲基本要求 * 掌握:命名空间的作用及定义:如何使用命名空间.     * 了解:使用早期的函数库 重点.难点     ◆命名空间的作用及定义:如何使用命名空间.     在学习本书前面各章时,读者已经多次看到在程序中用了以下语句: using namespace std:     这就是使用了命名空间std.在本讲中将对它作较详细的介绍. 一

C++ Primer 学习笔记_92_用于大型程序的工具 --命名空间[续1]

用于大型程序的工具 --命名空间[续1] 二.嵌套命名空间 一个嵌套命名空间即是一个嵌套作用域 -- 其作用域嵌套在包含它的命名空间内部.嵌套命名空间中的名字遵循常规规则:外围命名空间中声明的名字被嵌套命名空间中同一名字的声明所屏蔽.嵌套命名空间内部定义的名字局部于该命名空间.外围命名空间之外的代码只能通过限定名引用嵌套命名空间中的名字. 嵌套命名空间可以改进库中代码的组织: namespace cplusplus_primer { namespace QueryLib { class Quer

C++编译单元和命名空间

编译单元 编译单元,指的是代码的物理组织形式.根据C++标准,每一个cpp 文件就是一个编译单元. 编译器不会去编译 `.h` 或者 `.hpp` 文件: 编译器只会编译 `.c` 或 `.cpp` 文件: 简单来说,当一个c或cpp文件在编译时,预处理器首先递归包含头文件,这也就是为什么常会有:#ifndef--#define--#endif.之后,形成一个含有所有必要信息的单个源文件,这个源文件就是一个编译单元.这个编译单元会被编译成为一个与cpp文件名同名的目标文件 . 编译器不能检查跨越