news 2026/5/16 23:57:48

C++20的std::source_location

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++20的std::source_location

C++20 的 std::source_location

为了处理上述封装为函数出现的问题,C++20 推出了 std::source_location

基本使用

std::source_location 的内容非常简单,只有 6 个相关函数:

  • 默认构造函数
  • 静态 current() 用于构造对应调用点的新对象
  • line() 返回此对象所表示的行号
  • column() 返回此对象所表示的列号
  • file_name() 返回此对象所表示的文件名
  • function_name() 返回此对象表示的函数名

若它存在使用方式也非常简单,由于是和调用点有关,所以不用担心上面使用 __LINE__ 的问题。

代码和使用效果如下:

#include <iostream> #include <source_location> #include <string> bool log(const std::string& msg = "" , const std::source_location location = std::source_location::current() ) { std::cout << "File: " << location.file_name() << std::endl; std::cout << "Fun: " << location.function_name() << std::endl; std::cout << "Line: " << location.line() << std::endl; std::cout << "Column: " << location.column() << std::endl; std::cout << "Msg: " << msg << std::endl; return true; } const bool flag = log(); int main() { log("Hello world!"); }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 23:57:47

AnisoAlign:各向异性模态对齐

这篇论文《Anisotropic Modality Align》&#xff08;各向异性模态对齐&#xff09;是一篇深入探讨多模态大语言模型&#xff08;MLLM&#xff09;底层表征空间的理论与方法相结合的优秀研究。它打破了以往对“模态鸿沟&#xff08;Modality Gap&#xff09;”的粗略认知&#…

作者头像 李华
网站建设 2026/5/16 23:57:14

SD-WAN:企业网络转型的“智能高速公路”

在数字化转型浪潮中&#xff0c;企业的业务版图不断扩张&#xff0c;分支机构遍布各地&#xff0c;云端应用日益普及。传统的专线网络&#xff08;如MPLS&#xff09;虽然稳定&#xff0c;但成本高昂、部署周期长&#xff0c;已难以满足现代企业灵活、敏捷的组网需求。 这时&a…

作者头像 李华
网站建设 2026/5/16 23:35:39

嵌入式音乐创作:基于CircuitPython的交互式音频系统设计与实现

1. 项目概述&#xff1a;当复古游戏机遇上嵌入式音乐创作如果你和我一样&#xff0c;对90年代任天堂的《Mario Paint》里那个简陋但充满魔力的音乐编辑器念念不忘&#xff0c;同时又是个喜欢在微控制器上捣鼓点声音的硬件爱好者&#xff0c;那么“Larsio Paint Music”这个项目…

作者头像 李华
网站建设 2026/5/16 23:34:05

小蜗语音工具1.9:从文本到有声世界的全链路实践

1. 小蜗语音工具1.9的核心功能解析 第一次打开小蜗语音工具1.9时&#xff0c;我就被它简洁的界面惊艳到了。作为一个经常需要处理大量文本和音频的内容创作者&#xff0c;这款工具真正实现了从文字到声音的全链路处理。最让我惊喜的是它完全免费且支持本地运行&#xff0c;这意…

作者头像 李华