摘要:
std::wstring主要用于 UTF-16编码的字符, std::string主要用于存储单字节的字符( ASCII字符集 ),但是也可以用来保存UTF-8编码的字符。 UTF-8和UTF-16是UNICODE字符集的两种不同的字符编码。 std::string ws2s(const std:: 阅读全文
posted @ 2019-06-24 22:54
osbreak
阅读(4440)
评论(0)
推荐(0)
摘要:
模板类函数 1.01 std::is_floating_point std::is_floating_point是C++11新增加的类型特征模板之一,它用于判断一个类型是否是浮点类型。它包含在头文件<type_traits>中。 通过在模板函数中使用std::is_floating_point来判断 阅读全文
posted @ 2019-06-24 22:53
osbreak
阅读(796)
评论(0)
推荐(0)
摘要:
xx 阅读全文
posted @ 2019-06-24 22:50
osbreak
阅读(183)
评论(0)
推荐(0)
摘要:
xx 阅读全文
posted @ 2019-06-24 22:49
osbreak
阅读(198)
评论(0)
推荐(0)
摘要:
std::async 是 C++11 提供的高级异步操作接口,用于启动一个异步任务,并自动返回一个 std::future 来获取结果。 #include <future> #include <iostream> int heavy_computation() { std::this_thread: 阅读全文
posted @ 2019-06-24 22:47
osbreak
阅读(165)
评论(0)
推荐(0)
摘要:
xx 阅读全文
posted @ 2019-06-24 22:44
osbreak
阅读(172)
评论(0)
推荐(0)
摘要:
std::condition_variable 是 C++11 引入的同步原语, 它用于线程间通信,允许一个或多个线程等待某个条件成立,直到另一个线程发出通知。 它是实现生产者-消费者模型、任务队列、事件等待等多线程模式的核心工具。 条件变量本身不存储状态,它只是一个“通知机制”。 它必须与 std 阅读全文
posted @ 2019-06-24 22:42
osbreak
阅读(281)
评论(0)
推荐(0)
摘要:
xx 阅读全文
posted @ 2019-06-24 22:36
osbreak
阅读(133)
评论(0)
推荐(0)
摘要:
std::this_thread::yield(): 当前线程放弃执行,操作系统调度另一线程继续执行。 区别 std::this_thread::sleep_for(): 表示当前线程休眠一段时间,休眠期间不与其他线程竞争CPU,根据线程需求,等待若干时间。 #include <iostream> 阅读全文
posted @ 2019-06-24 22:34
osbreak
阅读(2137)
评论(0)
推荐(0)
摘要:
boost::static_visitor 是 Boost.Variant 库中的一个辅助类,用于定义 访问者(visitor),以便在 boost::variant 类型上执行 静态多态操作。 它允许你安全地对变体(variant)中存储的不同类型进行不同的处理,避免了复杂的 if-else 或类 阅读全文
posted @ 2019-06-24 22:13
osbreak
阅读(624)
评论(0)
推荐(0)
摘要:
std::optional 是 C++17 引入的一个容器类模板,用于表示一个值可能存在,也可能不存在。 它提供了一种类型安全的方式来处理“可空值”(nullable value),避免使用 nullptr、特殊值(如 -1)或 bool、value 的笨拙方式。 std::optional<T> 阅读全文
posted @ 2019-06-24 16:04
osbreak
阅读(1239)
评论(0)
推荐(0)
摘要:
xx 阅读全文
posted @ 2019-06-24 16:00
osbreak
阅读(1086)
评论(0)
推荐(0)
摘要:
1.01 双缓冲 (Double Buffering) 防闪烁 在 QWidget 的 paintEvent() 中,直接绘制到屏幕可能导致闪烁。 使用 双缓冲技术:先将所有内容绘制到一个离屏的 QPixmap 或 QImage 上,然后在 paintEvent 的最后,将这个完整的图像一次性绘制到 阅读全文
posted @ 2019-06-24 15:57
osbreak
阅读(1569)
评论(0)
推荐(0)
摘要:
#include <initializer_list> template <class T> class initializer_list; initializer_list对象中的元素永远是常量值const T,不能对initializer_list对象中元素的值修改 使用场景 1、可以使用初始化 阅读全文
posted @ 2019-06-24 15:13
osbreak
阅读(598)
评论(0)
推荐(0)
摘要:
std::decltype decltype ( 实体 ) decltype ( 表达式 ) 若实参是其他类型为 T 的任何表达式,且 a) 若 表达式 的值类别为亡值,则 decltype 产生 T&&; b) 若 表达式 的值类别为左值,则 decltype 产生 T&; c) 若 表达式 的值 阅读全文
posted @ 2019-06-24 14:53
osbreak
阅读(1611)
评论(0)
推荐(1)
摘要:
auto 1.0 定义变量时,必须初始化 auto a = 10; // 正确 auto b; // 错误 1.1 不能用于函数参数 void func(auto a = 1); // 错误 1.2 不能用于函数参数 struct Foo { auto var1_ = 0; // error: au 阅读全文
posted @ 2019-06-24 14:52
osbreak
阅读(277)
评论(0)
推荐(0)
浙公网安备 33010602011771号