source_location
- 功能:源码的具体信息,例如文件名、行号以及函数名。用于替代
__LINE__
、__FUNCTION__
与 __FILE__
的预定义宏。
- 示例
#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 << "info:"
<< location.file_name() << ':'
<< location.line() << ' '
<< location.column() << ' '
<< location.function_name() << ' '
<< message << '\n';
}
int main()
{
log("Hello world!");
}
info:/app/example.cpp:18 8 int main() Hello world!