
C++20新特性
文章平均质量分 93
伐尘
这个作者很懒,什么都没留下…
展开
-
【C++】深入探索 C++20 std::source_location:从日志到性能调优的全面指南
是一个轻量级的类,定义在头文件中,它封装了当前源代码中的各种信息。开发者可以通过它轻松获取调用代码的文件名、行号、列号和函数名,而不再需要借助传统的预定义宏。支持默认构造、拷贝构造、赋值和移动操作,保证了它的轻便性和可扩展性。此外,该类设计为可以被高效复制和传递,并且可以在不引发异常的情况下进行移动和赋值。转载 2025-05-21 10:42:09 · 28 阅读 · 0 评论 -
【C++】source_location
使用类可以减少代码中出现 , , 宏的次数。https://zh.cppreference.com/w/cpp/utility/source_location是表示关于源码的信息,例如、以及的类。在头文件中。102 source_location用法 类表示关于源码的具体信息,例如文件名、行号以及函数名。以前,希望获得关于调用位置的信息(用于、或)的函数必须使用宏,以令如 与 的预定义宏于调用方的环境展开。 类提供更好的替代。203 github上一个source_location实现一转载 2025-05-20 17:30:30 · 16 阅读 · 0 评论 -
【C++20】std::format
std::format 是C++20 标准库中新增的一个格式化工具,它基于 Python 中的 str.format() 函数,提供了一种类型安全且易于阅读的字符串格式化方法。替换字段使用花括号 {} 作为替换字段的占位符,这些替换字段在格式化时会被相应的参数值替换。格式规范:std::format 支持在替换字段内部定义格式规范,例如指定输出宽度、对齐方式和填充字符等。格式规范使用冒号:分隔,放在花括号内。编译时类型检查在编译期间检查参数类型的正确性,以提高类型安全性。自定义类型支持。转载 2025-03-05 15:20:21 · 127 阅读 · 0 评论 -
【C++17】三剑客之std::optional 使用详解
上面全面讲解了std::optional的用法和一些注意事项,要想深入理解它,那就需要在平时的工作中慢慢的去使用它,细细体会,才能真正领会发明std::optional的意义。原创 2025-03-04 14:55:12 · 1101 阅读 · 0 评论 -
【C++20】std::thread 和 std::jthread 使用详解
(0x01) std::thread 类创建线程非常方便,构造 thread 对象时传入一个需要运行的函数及其参数。构造完成后,新的线程马上被创建,同时执行该对象。注意:若需要传递引用参数给线程函数,则必须包装它(例如用std::ref 或 std::cref(0x02)使用 std::thread 默认的构造函数构造对象时,该对象是不关联任何线程的。可以在之后的使用过程中再关联到某一线程。可以通过使用 joinable() 接口,判断一个 thread 对象是否关联某个线程。(0x03)转载 2024-12-02 16:34:42 · 232 阅读 · 0 评论 -
【C++】C++20中的span容器
span。转载 2024-06-13 15:31:47 · 327 阅读 · 0 评论