说明
🧚std黑魔法记录,遇到一个记一个
std::strlen
- 🧙🏻用法:同c中的strlen函数
std::lock_gurad
🧙🏻用法:有点类似python中的with lock
🧪原理:在构造函数中需要传入一个锁,在构造时,自动加锁,在析构时自动解锁
🌰示例:
1
2
3
4
5void sync_func() {
std::mutex lock;
std::lock_guard<std::mutex> guard(lock);
//do something
}
std::memcmp
- 🧙🏻用法:比较两块内存中的数据是否是一致的
std::allocate_shared
- 🧙🏻用法:在std::make_shared的功能基础上,使用自定义的内存Allocator,Allocator需要实现allocate和deallocate这两个方法。
std::hash
- 🧙🏻用法:如果某种数据类型需要作为std无序容器(例如unordered_map、unordered_set)的key的话,则要实现std::hash这个模版对应类型的具体化
std::numeric_limits
🧙🏻用法:获取某种类型的最大最小值
🌰示例:
1
std::numeric_limits<int>::max();
std::this_thread::yield
🧙🏻用法:把当前线程占据的时间片让渡出去,并且不参加让出时间片的竞争
🌰示例:
1
std::this_thred::yield();