zoukankan      html  css  js  c++  java
  • c++命名空间

    1.命名空间是为了解决不同文件中的同名变量。

    比如你加了using namespace std;
    那么std命名空间中定义的东西就不用加std::了。
    而iostream.h这个头文件是为了兼容c,c根本就没命名空间这个概念,所以不用加using namespace std;了
    如果用通俗的方法解释就是,一个学校,有很多个班,在找1号的同学的时候,到底是找哪个班的1号呢?
    using namespace 高一一班;
    那么在找所有高一一班的同学的时候,就不用输入 高一一班::一号了
    也不用写成
      using 高一一班::一号;
      using 高一一班::二号;

    直接写  一号  就可以了。

    注意,很多程序员不会用using namespace std;因为标准命名空间std里面定义了很多变量,一不小心就会和自己定义的变量重复,于是,可以用到什么就在前加上:
    using std::cin;
    using std::cout;
    using std::endl;
    就可以。

    2.团队合作开发

    其实这个还是很有用的,尤其是在团队合作开发的时候,比如说,你把模块分给大家去做,a写了个类w,b也写了个类w,但是由于之前没有沟通好,最后他们的类名都一样,整合在一起的时候,调用的时候就回出现冲突。如果用名称空间,就好办了,调用的时候,只要说是调用a的类w还是b的类w就解决问题了。
    如:namespace a{ class w{...};}  
      namespace b{ class w{...};}
    用的时候:
      a::w aw  //生成a写的w的对象
      aw.get().....
      b::w bw  //生成b写的w的对象
      bw.get()....
    这样就区分是谁的类了。

    ------------------------------------------------------

    namespace Peking //声明命名空间Peking
    {
    int rank=47;//标识符
    }

    namespace Tsinghua //声明命名空间Tsinghua
    {
    int rank=54;//与Peking同名标识符
    }

    ----------------------------------

    #include "stdafx.h"
    #include <iostream>

    #include "university.h"//加载头文件university.h
    usingnamespace Peking;//显式使用头文件university.h中的命名空间Peking

    int main()
    {
    std::cout<<"世界大学排名(2010)"<<std::endl;

    std::cout<<"北京大学:"<<rank<<std::endl;//rank等同于Peking::rank
    std::cout<<"清华大学:"<<Tsinghua::rank<<std::endl;//标识符rank前面加上命名空间Tsinghua以及作用域运算符"::"

    return0;
    }

    ------------------

    博文参考[http://www.cnblogs.com/assemble8086/archive/2011/09/30/2196152.html

        http://www.cnblogs.com/CaiNiaoZJ/archive/2011/08/20/2146917.html

    ]

  • 相关阅读:
    zookeeper使用场景
    zookeeper安装配置
    hadoop 远程调试
    deep learning笔记
    Sentiment Analysis(1)-Dependency Tree-based Sentiment Classification using CRFs with Hidden Variables
    PRML阅读笔记 introduction
    Python 学习笔记(2)
    python nltk 学习笔记(5) Learning to Classify Text
    python nltk 学习笔记(4) Writing Structured Programs
    python nltk 学习笔记(3) processing raw text
  • 原文地址:https://www.cnblogs.com/beihaidao/p/4842170.html
Copyright © 2011-2022 走看看