c++11 & stl

容器

  • vector
    底层结构
    内存空间: 顺序,连续,有预留
    迭代器有效性: size区域即迭代器有效,如果内存发生转移了,新size区域有效,原先的都会失效

常用方法
vector.erase(iterator): 返回下一个迭代器
vector.erase(iterator1, iterator2): 返回iterator2指向的迭代器,删除范围[iterator1, iterator2)
vector.insert(iterator, value):返回插入位置的迭代器
vector.resize(size): 改变size范围大小,分三种情况
new size < old size: 只是start和finish变了
old size < new size <= capacity: 会创建新的对象,并设置默认值
new size > capacity: 开辟新的连续内存,拷贝原数据到新内存上,start、finish、end_of_storage都发 生变化

vector.resize(size, defaultValue): 和上面类似,但是默认值为defaultValue
vector.reverse(cpSize): 改变capacity范围大小,分两种情况(cpSize: capacity的大小, size:图片中的size)
cpSize <= size: size和capacity都不变,即使原来capacity有剩余的,也不会为此减少
cpSize > size: capacity大小改变,size不变

  • list
    list.erase(iterator):返回下一个迭代器
    list.erase(iterator1,iterator2):返回iterator2指向的迭代器,删除范围[iterator1, iterator2)

  • map
    map.erase(iterator):返回下一个迭代器

  • set
    set.erase(iterator):返回下一个迭代器

线程thread

多线程通信有socket,共享内存,管道(底层实现网络), 消息循环
qt可以用信号槽

官网函数

个人总结:

  • 构造时执行线程任务,不用等到join或者detach
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值