简介
- 录制视频教程,std::vector相关笔记
vector
看一下笔记,按照笔记复习。
小结
- std::vector 动态数组,动态增长的原理 1.5(2)倍增长,增长的流程,大概说一下。
- size() 和 capacity() 的区别,
- push_back 和 emplace_back() 的区别
- 支持随机访问,常量时间复杂度,
- 插入,删除操作是跟数据大小有关。
- 下一个视频,复习一下 std::vector , std::list, std::deque, 主要是 std::vector 和 std::list的区别
list, array, deque, vector
list 相关的笔记
小结
- list 不能提供随机访问,也不能提供指针运算,只能通过 ++p 或 –p 来遍历list
- 充分利用插入和删除常量时间复杂度的特性,两个list的合并 merge() , 或者是一个 list 的splice()
- array 固定大小,在栈上分配内存,vector则是访问自由存储区,相对来说,效率会更高一些,
- 缺点 swap() array是线性时间复杂度,vector是常量时间复杂度,
- 与C风格的数组比较,优点就是封装了一些常用的方法,例如size(), empty()
- deque
下一步
- 关联式容器: map, set, pair, multimap, multiset
- 无序式关联容器: unordered_map, unordered_set,
- 堆栈的一些概念,内存模型,类,虚函数表,this指针,成员函数的地址,怎么调用成员函数的。
map, set
容器,分为序列容器和关联容器
- 序列容器: vector, array, list, deque
- 关联容器
- 有序关联容器: map, set, multimap, multiset
- 无序关联容器: unordered_map, unordered_set, unordered_multimap, unordered_multiset
小结
- 。。。
下一步
- cuda, cudnn, tensorrt
- 深拷贝,
- memcpy,strcpy,strlen()
- memcpy,strcpy,strlen()
- 排序
- std::sort() lambda()
- algorithm
- std::sort
- std::merge
- std::find_if
- std::for_each
- cuda
- NVIDIA,
- 异构
- C++ 内存模型,堆栈一些概念