跳转至

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!