std::source_location::line

constexpr std::uint_least32_t line() const noexcept;
(C++20 起)

返回此对象所表示的行号。

参数

(无)

返回值

此对象所表示的行号。

鼓励实现在行号未知时返回 0

示例

#include <iostream>
#include <string_view>
#include <source_location>
 
inline void cur_line(
    const std::string_view message = "",
    const std::source_location& location = std::source_location::current())
{
    std::cout
        << location.line() // <- 调用点行号
        << ") "
        << message; 
}
 
auto main() -> int
{
    cur_line("++" "\n");
    cur_line(); std::cout << "Hello," "\n";
    cur_line(); std::cout << "C++20!" "\n";
    cur_line("--" "\n");
}

输出:

18) ++
19) Hello, 
20) C++20! 
21) --

参阅

返回此对象所表示的列号
(公开成员函数)
返回此对象所表示的文件名
(公开成员函数)
返回此对象表示的函数名,若它存在
(公开成员函数)
(C++23)
获取词法上与该 stacktrace_entry 所表示的求值相关的行号
(std::stacktrace_entry 的公开成员函数)