C++学习

1.虚函数表相关:

C++ 虚函数表解析 | 酷 壳 - CoolShell

C++ 对象的内存布局 | 酷 壳 - CoolShell

图说C++对象模型:对象内存布局详解 - melonstreet - 博客园

2.设计模式相关

C++ 对象的内存布局 | 酷 壳 - CoolShell

我所理解的设计模式(C++实现)—— “一句话总结”和索引_十八道胡同的博客-CSDN博客

3.STL模板相关

最推荐官方文档,自己去看

map::emplace_hint - C++ Reference

我个人的总结:vector、list、deque、queue、map、stack

对操作顺序有要求的,像queuq、stack:没有迭代器和reverse();

没有遍历概念的,像map,有迭代器,没有reverse();

其余,vector、list、deque,迭代器,reverse()都有;

具体如下:

vector:动态数组,有迭代器,有reverse();

list:双向链表,有迭代器,有reverse();

deque:双向队列:是片段连续的存储空间,有迭代器,有reverse();

queue:队列,没有迭代器和reverse();

priority_queue:优先队列,队首是最大的元素,最大元素先出队,没有迭代器和reverse();

map:红黑树,key-value,key是唯一的,有迭代器,没有reverse();

multimap:key-value,key可以是不唯一的,有迭代器,没有reverse();

stack:没有迭代器和reverse();

在使用erase、insert、emplace等函数时,要用一个迭代器去承接返回值,否则原先的迭代器可能会失效;

erase在循环删除时尤其要注意:返回值返回的是下一个元素的地址,所以增量运算的话会跳过一个。

正确写法:

for (it = a.begin(); it != a.end();)
    {
        if (it->second == 10)
        {

            it=a.erase(it);
        }
        else
            it++;
    }

4.面试相关:

C++面试总结之常用基础知识_南方铁匠的博客-CSDN博客_c++基础知识

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值