一、背景
    需要使用Visual studio的C++,此篇对namespace的常用用法做个记录。
二、正文
        namespace通常用来给类或者函数做个区间定义,以使编译器能准确定位到适合的类或者函数。
    譬如说,自行实现了一个函数test(void),而在该项目的库函数内也定义了一个函数test(void);
    当你调用test();函数的时候,编译器就困惑了,该调用哪个呢?这个时候namespace的作用就
    显现出来了。
    namespace的定义用法:
        namespace namespace_name {
           // code declarations
           // 函数,类名等等
        }
    namespace对应的调用方法:
        name::code; //此处code就是对应namespace内定义的类名或者函数名等等。

    实际调用举例:
    #include <iostream>
    using namespace std;

    // first name space
    namespace first_space{
       void func(){
          cout << "Inside first_space" << endl;
       }
    }

    // second name space
    namespace second_space{
       void func(){
          cout << "Inside second_space" << endl;
       }
    }

    int main () {

       // Calls function from first name space.
       first_space::func();

       // Calls function from second name space.
       second_space::func(); 

       ;
    } 

    在这个函数内用了两个命名空间(namespace),输出的结果既是:
    "Inside first_space"
    "Inside second_space"

        当然对于"namespace",那肯定还有相应的"using"关键词,"using"关键词既是指定使用
    特定的"namespace",举例:
    #include <iostream>
    using namespace std;

    // first name space
    namespace first_space{
       void func(){
          cout << "Inside first_space" << endl;
       }
    }

    // second name space
    namespace second_space{
        //此处func与第一处命名空间内函数名相同
       void func(){
          cout << "Inside second_space" << endl;
       }
    }

    // 使用第一个namespace
    using namespace first_space;
    int main () {

       // This calls function from first name space.
       func();

       ;
    }

    最后返回的结果既是:"Inside first_space"。

    至此,记录完毕。

记录时间:--
记录地点:深圳WZ

C++ 之namespace常见用法的更多相关文章

  1. C++的string类常见用法

    C++的string常见用法,在网上看到一篇,但是不能在c++11编译器下运行,我修改了下,还没改完: #include<iostream> #include<string> ...

  2. STL pair 常见用法详解

    <算法笔记>学习笔记 pair 常见用法详解 //pair是一个很实用的"小玩意",当想要将两个元素绑在一起作为一个合成元素, //又不想因此定义结构体时,使用pair ...

  3. STL stack 常见用法详解

    <算法笔记>学习笔记 stack 常见用法详解 stack翻译为栈,是STL中实现的一个后进先出的容器.' 1.stack的定义 //要使用stack,应先添加头文件#include &l ...

  4. STL priority_queue 常见用法详解

    <算法笔记>学习笔记 priority_queue 常见用法详解 //priority_queue又称优先队列,其底层时用堆来实现的. //在优先队列中,队首元素一定是当前队列中优先级最高 ...

  5. STL queue 常见用法详解

    <算法笔记>学习笔记 queue 常见用法详解 queue翻译为队列,在STL中主要则是实现了一个先进先出的容器. 1. queue 的定义 //要使用queue,应先添加头文件#incl ...

  6. STL map 常见用法详解

    <算法笔记>学习笔记 map 常见用法详解 map翻译为映射,也是常用的STL容器 map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器) 1. map 的定义 / ...

  7. STL string 常见用法详解

    string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...

  8. STL set 常见用法详解

    <算法笔记>学习笔记 set 常见用法详解 set是一个内部自动有序且不含重复元素的容器 1. set 的定义 //单独定义一个set set<typename> name: ...

  9. C++序列容器之 vector常见用法总结

    一.关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确. vector是一个动态的序列容器,相当于一个size可变的数组. 相比于数组,vector会消耗更多的内存以有效的 ...

随机推荐

  1. HDOJ 2393. Higher Math

    Higher Math Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  2. html drag api 在firefox 下 拖动出现新窗口的解决办法

    有个功能,需要用drag drop api 来做. 发现在firefox下拖放,会出现新的tab 页签,即使在ondragover.ondrop中使用了event.preventDefault也无济于 ...

  3. 常见web攻击以及防御

    xss攻击: 跨站脚本攻击,攻击者在网页中嵌入恶意代码,当用户打开网页,脚本程序便开始在客户端的浏览器上执行,以盗取客户端cookie,用户名密码,下载执行病毒木马程序,甚至是获取客户端admin权限 ...

  4. Java反射机制

    Java反射机制 一:什么事反射机制 简单地说,就是程序运行时能够通过反射的到类的所有信息,只需要获得类名,方法名,属性名. 二:为什么要用反射:     静态编译:在编译时确定类型,绑定对象,即通过 ...

  5. HAproxy的安装与配置讲解

    1,安装 官网下载 http://www.haproxy.org/#down cd /usr/local/src/ wget http://www.haproxy.org/download/1.4/s ...

  6. FragmentTabHost + Fragment 使用小记

    由于业务需要,需要在使用Activity的顶部使用一个导航栏,点击导航栏的tab,下面显示内容.决定采用项目中已经使用过的FragmentTabHost + Fragment的方式实现.不同的是之前的 ...

  7. IIS请求筛选模块被配置为拒绝超过请求内容长度的请求

    HTTP错误404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求,原因是Web服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大 ...

  8. apche启动错误|httpd.pid overwritten — Unclean shutdown of previous Apache run?

    APACHE启动成功,但无法接受任何请求,查看ERROR.LOG文件[warn] pid file /opt/apache/logs/httpd.pid overwritten - Unclean s ...

  9. 隐藏NavigationBar的正确方式

    -(void)viewWillAppear:(BOOL)animated { [self.navigationController setNavigationBarHidden:YES animate ...

  10. STL的使用

    Vector:不定长数组 Vector是C++里的不定长数组,相比传统数组vector主要更灵活,便于节省空间,邻接表的实现等.而且它在STL中时间效率也很高效:几乎与数组不相上下. #include ...