1、C++基础:命名空间

作者: blueskylxb | 来源:发表于2016-11-16 14:44 被阅读18次

    对using namespace std;的解释
    所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。
    由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:
    1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下:

    std::cout << std::hex << 3.4 << std::endl;
    

    2、使用using关键字。

    using std::cout;
    using std::endl;
    

    以上程序可以写成

    cout << std::hex << 3.4 << endl;
    

    3、最方便的就是使用using namespace std;
    这样命名空间std内定义的所有标识符都有效(曝光)。就好像它们被声明为全局变量一样。那么以上语句可以如下写:

    cout << hex << 3.4 << endl;
    

    命名空间(名字空间)
      命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。命名空间用关键字namespace 来定义:

    #include <iostream>
    
    using namespace std;
    namespace printA{
        void print(){  // 如果没有void返回类型,默认为int
          cout << "using namespace printA .." << endl;
        }
    }
    
    namespace printB{
      void print(){
        cout << "using namespace printB .." << endl;
      }
    }
    
    
    namespace printC {
      void print(){
        cout << "using namespace printC .." << endl;
      }
    
      namespace printD{
        void print(){
          cout << "using namespace printD .." << endl;
        }
      }
    }
    
    int main(void){
      printA::print();
      printB::print();
      printC::print();
      printC::printD::print();
    }
    

    参考:http://blog.chinaunix.net/uid-24219701-id-2105573.html

    相关文章

      网友评论

        本文标题:1、C++基础:命名空间

        本文链接:https://www.haomeiwen.com/subject/nmrrpttx.html