标签:C++17

共 15 篇文章

C++ std::variant的visitor模式与模式匹配实现

C++ std::variant的visitor模式与模式匹配实现 std::variant是C++17引入的一种安全、可辨识的联合体,用于在固定类型集合中存储其中一个值。与传统的

# C++17 # std::variant # visitor模式
2026-06-14 133 0

C++ std::optional的构造函数为什么没有explicit导致隐式转换陷阱

C++ std::optional的构造函数为什么没有explicit导致隐式转换陷阱 在使用C++17引入的 std::optional 时,一个不显眼的设计细节可能埋下隐患:它

# C++std::optional # 隐式转换陷阱 # 构造函数
2026-06-03 139 0

C++ std::optional 的空状态表示为什么比 std::pair 更语义化

C++ std::optional 的空状态表示为什么比 std::pair 更语义化 在 C++ 中,表示一个函数可能返回“有效值”或“空值”是常见需求。传统做法使用 std::

# C++17 # std::optional # 语义化
2026-05-28 147 0

C++ std::filesystem遍历目录与文件操作的跨平台方案

C++ std::filesystem遍历目录与文件操作的跨平台方案 在C++17之前,处理文件路径、遍历目录或进行跨平台文件操作往往需要依赖操作系统特定的API或第三方库。C++

# C++17 # std::filesystem # 跨平台
2026-05-19 219 0

C++ std::optional的比较操作符与std::nullopt的比较

C++ std::optional的比较操作符与std::nullopt的比较 C++17 引入了 std::optional,用于处理可能不存在的值。理解其比较操作符的行为,特别

# C++ # C++17 # optional类型
2026-05-06 141 0

C++ std::scoped_lock同时锁定多个互斥量避免死锁

C++ std::scopedlock同时锁定多个互斥量避免死锁 在多线程编程中,当需要同时操作多个共享资源时,如果锁的顺序不一致,极易发生死锁。死锁会导致程序挂起,无法继续执行。

# C++编程 # 多线程 # 死锁
2026-05-04 175 0

C++ std::visit结合std::variant的多态访问模式

C++ std::visit结合std::variant的多态访问模式 在现代 C++(C++17 及以上)开发中,std::variant 提供了一种类型安全的联合体,而 std

# C++ # C++17 # variant
2026-05-04 174 0

C++ std::variant的valueless_by_exception状态处理

C++ std::variant的valuelessbyexception状态处理 std::variant 是 C++17 引入的类型安全联合体。它通常用来存储多种类型中的任意一

# C++编程 # std::variant # 异常处理
2026-05-03 155 0

C++ std::string_view为什么比string更适合做函数参数

C++ std::stringview为什么比string更适合做函数参数 在C++开发中,处理文本数据是一项极其频繁的任务。许多开发者在编写函数接收字符串参数时,习惯性地使用 s

# C++编程 # 性能优化 # 字符串处理
2026-05-02 175 0

C++ std::variant的std::get_if安全访问与异常版本对比

C++ std::variant的std::getif安全访问与异常版本对比 std::variant 是 C++17 引入的类型安全的联合体,它能在同一时刻存储多种类型中的一种。

# C++ # C++17 # variant
2026-04-30 180 0

C++ std::optional::value_or与value的异常抛出行为

C++ std::optional::valueor与value的异常抛出行为 在 C++17 引入 std::optional 后,处理可能不存在的值变得更加安全。然而,不当使用

# C++ # C++17 # 标准库
2026-04-27 181 0

C++ std::variant的std::monostate作为默认无值状态

C++ std::variant的std::monostate作为默认无值状态 C++17 引入了 std::variant,作为类型安全的 union 替代品。然而,与可以指向

# C++ # C++17 # stdvariant
2026-04-26 155 0

C++ std::variant的std::visit访问者模式实现

C++ std::variant的std::visit访问者模式实现 std::variant是C++17引入的类型安全联合类型替代方案,它允许在同一个对象中存储不同类型的数据。访

# C++17 # std::variant # 访问者模式
2026-04-23 170 0

C++ std::variant的std::holds_alternative类型检查

std::variant 是 C++17 标准库中提供的一个类型安全的联合体容器,它能在同一时刻存储多种指定类型中的某一种。在使用该容器时,经常需要判断当前存储的具体数据类型,st

# C++ # C++17 # variant
2026-04-19 179 0

C++ 标准库:不同标准版本的兼容性

C++ 标准库:不同标准版本的兼容性 C++ 语言自诞生以来经历了多次标准化更新,每次新标准(如 C++11、C++14、C++17、C++20 等)都引入了新特性、改进或废弃旧功

# C++标准库 # 版本兼容性 # C++11
2026-04-03 218 0