![](https://img-blog.csdnimg.cn/adf6ba46f6964b6a98c9e0b55a0cb302.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++17
文章平均质量分 75
介绍c++17相对于c++11的新增特性
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Overboom
这个作者很懒,什么都没留下…
展开
-
[c++17标准库特性之新增STL特性] --- std::filesystem
C++17 标准库中的文件系统库提供了一些函数和类来处理文件和目录。原创 2023-04-09 20:04:00 · 704 阅读 · 0 评论 -
[c++17标准库特性之新增STL特性] --- std::string_view
std::string_view 是 C++17 标准库中的一种新类型,它提供了对一个字符序列的非拥有式视图,该序列存储在 std::string 或字符数组中。它是 std::string 的一种轻量级替代方案,旨在避免字符串复制或分配的开销。以下是一些 std::string_view 的重要特性:非拥有式视图:std::string_view 不拥有底层的字符序列,它只是字符序列的引用。这意味着 std::string_view 的构造函数不会复制字符序列,而是指向它。原创 2023-04-09 20:01:13 · 517 阅读 · 0 评论 -
[c++17标准库特性之新增STL特性] --- std::any
std::any 是 C++17 中引入的一个新特性,它是一个类型安全的容器,可以在其中存储任何类型的值,包括基本类型、自定义类型、指针等。相比于 C++11 中引入的 void* 指针,std::any 更为类型安全,可以避免由于类型转换错误而导致的运行时错误。std::any 的实现基于类型擦除技术,可以存储任何类型的值,但在存储和获取值时需要指定正确的类型,否则会抛出 std::bad_any_cast 异常。原创 2023-04-09 19:50:51 · 1375 阅读 · 0 评论 -
[c++17标准库特性之新增STL特性] --- std::variant
std::variant 是 C++17 中引入的一个标准库类型,它提供了一种方式来存储不同类型的值,并在运行时根据需要选择其中之一。它类似于联合体(union),但具有更多的功能和类型安全性。原创 2023-04-09 19:46:27 · 620 阅读 · 0 评论 -
[c++17标准库特性之新增STL特性] --- std::optional
std::optional 是 C++17 中引入的一个标准库类型,它表示一个值或者不存在的情况。它类似于指针,但它可以安全地表示空值,同时还提供了更多的功能和语法糖。std::optional 的使用方式很简单,它可以用来表示函数的返回值、类成员变量、容器元素、函数参数等。当需要表示一个值可能不存在时,可以使用 std::optional 来避免使用指针和裸值时可能遇到的问题。原创 2023-04-09 19:42:25 · 645 阅读 · 0 评论 -
[c++17新增语言特性] --- 嵌套命名空间定义
其中,inner是嵌套在outer命名空间中的命名空间。在inner命名空间内部,可以定义变量、函数、类等。使用嵌套命名空间时,可以使用作用域解析运算符::来访问其中的变量、函数、类等。原创 2023-04-09 13:34:53 · 159 阅读 · 0 评论 -
[c++17新增语言特性] --- 折叠表达式
折叠表达式是C++17引入的一个非常有用的特性,它可以帮助我们简化代码,并提高可读性。在实际编程中,我们可以使用折叠表达式来实现各种不同的功能,例如求和、计算平均值、判断参数是否为真、判断参数是否相等、计算最大值等等。原创 2023-04-09 13:34:13 · 419 阅读 · 0 评论 -
[c++17新增语言特性] --- 结构化绑定
C++17引入了结构化绑定(Structured Bindings)的特性,它允许将一个结构体或元组的成员绑定到命名的变量上,从而可以方便地访问结构体或元组的成员。这个特性使得代码更加简洁和易读,尤其是在处理复杂的数据结构时。在这里,我们将深入剖析C++17的结构化绑定特性。原创 2023-04-06 22:07:26 · 443 阅读 · 0 评论 -
[c++17新增语言特性] --- constexpr if
constexpr if是C++17引入的一个重要特性,可以使得编译器在编译时进行条件判断,并根据条件选择不同的代码路径。原创 2023-04-06 21:59:56 · 590 阅读 · 0 评论 -
[c++17新增语言特性] --- [[nodiscard]]和[[maybe_unused]]
c++17 [nodiscard]]和[[maybe_used]]原创 2023-04-05 22:48:45 · 434 阅读 · 0 评论 -
[c++17] --- c++17相对于c++11的新增特性
C++11引入了许多现代C++特性,例如lambda表达式、自动类型推导、智能指针、移动语义、constexpr等。这些特性使得C++更加现代化、简洁、高效、安全,而C++17在C++11的基础上继续引入了一些新的特性和改进,例如结构化绑定、if constexpr、内联变量、类模板参数推导、并行算法等,进一步提高了C++的开发效率和代码质量。Note: 本专栏默认读者已了解c++11新特性,通过对比c++11,总结c++17新特性。原创 2023-04-05 22:38:01 · 703 阅读 · 0 评论