<source_location>是C++20中新增加的头文件,此头文件是utility库的一部分。
主要内容为类std::source_location:表示有关源代码的某些信息,例如文件名(__FILE__)、行号(__LINE__)和函数名(__func__)。
以下为测试代码:
namespace {void log(const std::source_location location = std::source_location::current())
{std::clog << "file: "<< location.file_name() << "("<< location.line() << ":"<< location.column() << "); function name: "<< location.function_name()<< std::endl;
}void func()
{log();
}} // namespaceint test_source_location()
{log();func();return 0;
}
执行结果如下图所示:
GitHub:https://github.com/fengbingchun/Messy_Test