《C++程序设计语言》摘要

第16章 库组织和容器

vector 容器 

insert返回的是新插入元素的迭代器

erase返回的删除元素之后下一个元素的迭代器

反向迭代器 rbegin(),是指向最后一个元素的迭代器;rend()是指向begin()前一个的迭代器。

遍历过程中应该对 rbegin() 执行++,而不是--,执行逆序从后向前的遍历。

反向迭代器reverse_iterator 和 iterator可能类型并不一致。反向迭代器可以用base()函数转换为迭代器类型。

一个迭代器,在执行完插入,删除操作后可能会失效,而不能再使用。因为插入删除操作可能会使得vertor指向另外一块内存。所以需要通过插入、删除操作的返回值来获取新的迭代器。


第17章 标准容器

map和hash_map之间最本质的差异就在于:map对其元素类型要求有一个<,而hash_map要求一个== 和 一个散列函数。具体的说,map是用红黑树实现的,hash_map是用堆加hash函数实现的。

map是有序的,hash_map是无序的。

如果允许重复键值,请使用multimap或multiset。


第21章 流

用户定义类型的输出

class complex{

public:

    double real() const{return re; }

    double imag() const{return im; }

}

ostream& operator<<(ostream &s, const complex &z)

{

    return s<<'('<<z.real()<<','<<z.imag()<<')';

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值