当前位置: 首页 > news >正文

C++(20):通过source_location实现日志函数

C++20中引入了std::source_location,用来描述函数调用的上下文信息。

其主要的成员函数如下:

  • line():获取行号。
  • column():获取列号。
  • file_name():获取文件名。
  • function_name():获取函数域名。
#include <iostream>
#include <string_view>
#include <source_location>void log(std::string_view message, const std::source_location& location = std::source_location::current())
{std::cout << location.file_name() << ':'<< location.line() << ' '<< "func:"<<location.function_name() << ' '<< "log:"<<message << '\n';
}int main()
{log("Hello world!");
}

运行程序输出:

./file.cpp:16 func:int main() log:Hello world!

http://www.lryc.cn/news/241922.html

相关文章:

  • 【数据结构】树与二叉树(廿二):树和森林的遍历——后根遍历(递归算法PostOrder、非递归算法NPO)
  • 精通Nginx(17)-安全管控之防暴露、限制访问、防DDos攻击、防爬虫、防非法引用
  • STM32 Flash
  • 文件批量重命名技巧:图片文件名太长怎么办?告别手动改名方法
  • 微信小程序手写滑动tab
  • 一文读懂如何安全地存储密码
  • 【运维面试100问】(六)buffer和cache的区别
  • 创建域名邮箱邮件地址的方法与步骤
  • Qt框架学习(1)
  • 3D电路板在线渲染案例
  • ResizeObserver loop limit exceeded报错解决方案
  • 【OpenCV实现图像:使用OpenCV进行图像处理之透视变换】
  • Vue中学习笔记-数据代理
  • IDEA 配置maven结合案例使用篇
  • 基于白鲸算法优化概率神经网络PNN的分类预测 - 附代码
  • Android使用Kotlin利用Gson解析多层嵌套Json数据
  • DOM事件的传播机制
  • gitlab利用CI多工程持续构建
  • 【C++初阶】四、类和对象(构造函数、析构函数、拷贝构造函数、赋值运算符重载函数)
  • js粒子效果(二)
  • 01.让自己习惯C++
  • ElementUI table+dialog实现一个简单的可编辑的表格
  • Rust语言精讲:数据类型全解析
  • 《数据结构、算法与应用C++语言描述》-代码实现散列表(线性探查与链式散列)
  • Hadoop学习笔记:运行wordcount对文件字符串进行统计案例
  • python编写简单登录系统(密码混淆加密)
  • UVA1025 城市里的间谍 A Spy in the Metro
  • 【科普知识】什么是步进电机?
  • AWS云服务器EC2实例实现ByConity快速部署
  • Docker的项目资源参考