C++遗失的村庄(持续更新。。。)

位运算

  1. 与操作(&):0&0=0 0&1=0 1&1=1
  2. 异或操作(^):
  3. 或操作(|)
  4. 取反操作(~)
  5. 左移(<<)
  6. 右移(>>)

set关联式容器

  1. 在set中每个元素的值唯一,而且系统能根据元素的值自动进行排序。
  2. C++ STL中标准关联容器set,multiset,map,multimap内部采用的就是一种非常高效的平衡二叉树:红黑树,也成为RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡树,所以被STL选择作为了关联容器的内部结构。
  3. set的使用以成员函数方式实现常用操作,如:插入、删除、排序、查找等。
  4. map和set在插入删除效率比其他序列容器高是因为:不需要做内存拷贝和内存移动,只需要更改指针。
  5. set的查找是二分查找
    转载参考链接

sort排序函数

对于C++经常需要对数组进行排序,那么STL库中就要一个sort函数,可以对数组进行快速排序,默认是从小到大。

  1. 使用方式:sort(s.begin(),s.end(),compare)
  2. 第一个参数是排序数组的起始位置
  3. 第二个参数是排序数组的终止位置
  4. 第三个参数是排序的方法,可以是递增或者递减,默认是递增。

auto

auto是变量的自动类型推断,自动为变量设置类型,并保持正确。

使用emplace_back()代替push_back()

push_back()函数向容器加入一个临时变量对象的时候,首先会调用构造函数生成这个对象,然后调用拷贝构造函数将这个对象放入容器中,最后释放临时对象。
但是emplace_back()函数向容器中加入临时变量对象,临时对象原地构造,没有赋值或移动的操作。

你可能感兴趣的:(笔记)