std::source_location::line

来自cppreference.com
 
 
工具库
通用工具
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)

初等字符串转换
(C++17)
(C++17)
栈踪
 
 
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) --

参阅

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