std::basic_format_args
来自cppreference.com
| 在标头 <format> 定义
|
||
| template<class Context> class basic_format_args; |
(1) | (C++20 起) |
| using format_args = basic_format_args<std::format_context>; |
(2) | (C++20 起) |
| using wformat_args = basic_format_args<std::wformat_context>; |
(3) | (C++20 起) |
提供到格式化参数的访问。
成员函数
| (构造函数) |
构造 basic_format_args 对象 (公开成员函数) |
| get |
返回位于给定下标的格式化参数 (公开成员函数) |
std::basic_format_args::basic_format_args
| basic_format_args() noexcept; |
(1) | |
| template<class... Args> basic_format_args(const /*format-arg-store*/<Context, Args...>& store) noexcept; |
(2) | |
1) 构造不保有任何格式化参数的
basic_format_args 对象。2) 从调用 std::make_format_args 或 std::make_wformat_args 的结果构造
basic_format_args 对象。
std::basic_format_args 拥有引用语义。程序员负责确保 *this 不会比 store 活得更久(从而不应比 std::make_format_args 或 std::make_wformat_args 的参数存活更久)。
std::basic_format_args::get
| std::basic_format_arg<Context> get(std::size_t i) const noexcept; |
||
返回保有 args 中第 i 参数的 std::basic_format_arg ,其中 args 是传递给 std::make_format_args 或 std::make_wformat_args 的形参包。
若无足够的参数(即 *this 为默认构造或 i 不小于格式化参数数),则返回默认构造的 std::basic_format_arg (保有 std::monostate 对象)。
示例
| 本节未完成 原因:暂无示例 |
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| P2216R3 | C++20 | 由于 vformat_to 的过度参数化提供了 format_args_t
|
已移除 |