Fork me on GitHub

C++ primer plus读书感悟(一)名称空间

1.名称空间的初步涉及

虽然在在C语言中也是有名字空间的概念的,只不过C语言中不能自定义名字空间,与此同时大学的C语言课程并未强调C的名称空间概念,而C++中,可以定义自己的名字空间 。很多人都认为名字空间是作用域的一个补充,认为名字空间是为了区分同一作用域下相同的标识符,解释的也有一定道理。

/*名称空间支持是一项 C++特性,旨在让您编写大型程序以及将多个厂商现有的代码组合起来的程序时更容易,它还有助于组织程序。一个潜在的问题是,可能使用两个已封装好的产品,而它们都包含一个名为wanda的函数。这样,使用 wanda函数时,编译器将不知道指的是哪个版本。名称空间让厂商能够将其产品封装在一个叫作名称空间的单元中,这样就可以用名称空间的名称来指出想使用哪个厂商的产品。
    因此,Microflop Industries可以将其定义放到一个名为Microflop的名称空间中。这样,其 wanda函数的全称为Microflop::wanda();同样,Piscine公司的 wanda()版本可以表示为 Piscine::wanda()。这样,程序就可以使用名称空间来区分不同的版本了*/

(来自C++ Primer Plus原文)

所以using namespace std;这句话相当允许使用std这个名称空间。

同样由于这个using的编译指令使得std中的全部名称都可用,如果是你只单单想用里面的几个函数(比如cin,cout,endl)

可应以使用如下的语句:
       using std::cout;

       using std::cin;

       using std::endl;

如果你不添加任何的using命令指令。 则必须在使用<iostream>这个库函数时必须要在函数前添加其名称空间

比如:
    std::cout;

      std::cin;

posted @ 2021-12-31 16:24  衔清风与共  阅读(122)  评论(0)    收藏  举报