C++
cppDreaming
这个作者很懒,什么都没留下…
展开
-
左右值、完美转发
一、两条特殊规则: 1、当我们将一个左值传递给右值引用参数时,且此右值引用指向模板类型参数(T&&)时,编译器推断模板类型参数为左值引用类型而非左值。 2、当我们间接创建一个引用的引用,如类型别名或模板参数,则这些引用形成了折叠: T& &,T& &&,T&& &折叠为T& T&& &&折叠为T&& 二、std::move实现: template <typenam原创 2021-07-15 11:09:31 · 216 阅读 · 0 评论 -
cout无打印问题
uint8_t 是unsigned char cout<< 根据参数的不同有多个重载 的版本,uint8_t 被解析成了operator<<(ostream&, unsigned char) 这个版本,导致输出字符,而如果这个字符是不可打印的,就会无显示了原创 2021-07-15 10:08:10 · 808 阅读 · 0 评论 -
条件变量只有一种正确的使用方式
条件变量只有一种正确的使用方式: std::unique_lock<std::mutex> locker(mutex) while (condition) { cond.wait(locker); } std::lock_guard<std::mutex> lck; change condition cond.notify_one()原创 2021-07-15 10:04:21 · 69 阅读 · 0 评论