Geekband-job3.2

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),具体要看容器存贮的是对象指针还是对象本身。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容