一、背景
    需要使用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. js判断用户是否正在滚动滚动条,滚动条滚动是否停止

    js智能判断是否可以自动滚动 比如,做一个音乐播放器,边播放,边定位歌词,播放的时候,需要自动定位到播放语句,但是用户去拖动或者滚动div(歌词面板)时,这时就必须停止自动滚动,或者说是不能自动滚动, ...

  2. jQuery获取margin-top和padding-top的值

    var bordT = $('img').outerWidth() - $('img').innerWidth();  var paddT = $('img').innerWidth() - $('i ...

  3. [LeetCode] Sum of Two Integers 两数之和

    Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. Exam ...

  4. [LeetCode] Paint House 粉刷房子

    There are a row of n houses, each house can be painted with one of the three colors: red, blue or gr ...

  5. csv表格处理(下)--纯JS解析导入csv

    多日前的上篇介绍了csv表格,以及JS结合后端PHP解析表格填充表单的方法.其中csv转换成二维数组的时候逻辑比较复杂多坑,幸好PHP有丰富的库函数来处理,而现在用JS解析的话就没有那么幸运了,一切都 ...

  6. 最全的 JavaScript 知识总结

    来源于:http://gcdn.gcpowertools.com.cn/showtopic-28404-1-3.html?utm_source=gold.xitu.io&utm_medium= ...

  7. 用上了ReSharper

    用上了ReSharper,发现很爽1.使用var2.去掉无用的using3.将foreach改为linq let4.字符串为cost5.作用域与变量名适配6.文件夹与namespace不匹配7.去掉为 ...

  8. ES6深入学习记录(一)class方法相关

    今天学习class相关的一些使用方法,着重在于class extends class之间可以通过extends关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多. 上面的代码定义了一 ...

  9. Xftp连接linux(ubuntu)时提示ssh服务器拒绝了密码,请再试一次

    用xftp root连接时显示ssh服务器拒绝了密码,请重新连接.由于sshd的设置不允许root用户用密码远程登录,修改/etc/ssh/sshd_config文件,但必须是安装了openssh才会 ...

  10. 个人作业-Week2

    第一部分  调研, 评测 运行平台 win 8 软件版本:微软必应词典桌面版 3.5.2 BUG标题:必应背单词无法发音 BUG详细描述:如图,左边为必应词典该单词的搜索,可以发音,而右边必应背单词中 ...