美文网首页
Geekband-job3.2

Geekband-job3.2

作者: freedomywb | 来源:发表于2016-06-19 12:51 被阅读0次

    1、const_cast

    const_cast用来移除变量的const属性,例如下面的代码

    const int constant = 21;

    const int* const_p = &constant;

    int* modifier = const_cast(const_p);

    *modifier = 7;

    如果将结果打印

    cout<<"constant: "<< constant <

    cout<<"const_p: "<< *const_p <

    cout<<"modifier: "<< *modifier <

    /**

    constant: 21

    const_p: 7

    modifier: 7

    **/

    可见constant值不变,但地址居然相同,很奇怪

    cout<<"constant: "<< &constant <

    cout<<"const_p: "<< const_p <

    cout<<"modifier: "<< modifier <

    /**

    constant: 0x7fff5fbff72c

    const_p: 0x7fff5fbff72c

    modifier: 0x7fff5fbff72c

    **/

    2、map

    map是一种关联容器,键要提供小于排序,键不能重复。

    map添加数据如下

    map maplive;

    1.maplive.insert(pair(102,"aclive"));

    2.maplive.insert(map::value_type(321,"hai"));

    3, maplive[112]="April";//map中最简单最常用的插入添加!

    删除元素:maplive.erase(l_it)

    3、仿函数适配器

    当有一个二元函数,我们想绑定其中的一个参数时,可以用bind1st/bind2nd;当我们想将一个类的成员函数用作全局函数时,可以用mem_fun(&lei::pring)/mem_fun_ref(&lei::pring),具体要看容器存贮的是对象指针还是对象本身。

    相关文章

      网友评论

          本文标题:Geekband-job3.2

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