简介

  • 录制视频教程,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()
    • 排序
      • std::sort() lambda()
      • algorithm
        • std::sort
        • std::merge
        • std::find_if
        • std::for_each
    • cuda
      • NVIDIA,
      • 异构
    • C++ 内存模型,堆栈一些概念