
C++17 和 C++20 中的新容器与工具:std::optional、std::variant 和 std::span
C++17和C++20引入的三个关键工具提升了代码安全性与表达能力: std::optional 优雅处理可能缺失的值,替代空指针或特殊标记,适用于函数返回值和可选配置项。 std::variant 提供类型安全的联合类型,支持多种异构数据存储,需配合std::visit访问。 std::span 作为轻量级连续内存视图,统一数组/容器的访问接口,避免数据拷贝。 三者可组合使用:如用optional包装span表示可能为空的数据视图,或用variant封装多种数据源类型。性能方面,optional/vari

