Tag: C++
多线程函数传参慎用引用
c++11引入的多线程非常方便,结合lambda表达式可以快速将单线程程序改为多线程。 c++使用引用传参是一个常用的技巧,可以减少数据拷贝…
K个不重复随机数的生成
std::vector<int> Random(std::vector<int> a, int K) { std::…
unordered_map不一定比map快
unordered_map是基于Hash的结构,查询速度可以认为是O(1); map是基于红黑树的结构,查询速度为O(logn)。 一般来说…
std::bitset访问效率
当bitset的长度小于64(8个字节)的时候,没有太大效率问题。但足够长的时候就需要考虑了,事实上,当长度大于64的时候会马上突显出来这个…
C++ decltype和auto
C++11开始改变了C++98中关键字auto的定义,使得C++可以在一些情况下不用写长长的变量类型,例如: std::vector<…
C++17递归获取一个目录下指定扩展名的所有文件
C++17加入了std::experimental::filesystem,这使得C++进行文件操作大为方便(当然,之前boost也是有类似…
STL string用法汇总
#include <string> find std::size_t start_pos = str.find(from); i…