std::ignore
来自cppreference.com
工具库
std::tuple
成员函数 | ||||
非成员函数 | ||||
(C++20
前)(C++20
前)(C++20
前)(C++20
前)(C++20
前)(C++20)
|
||||
推导指引(C++17) | ||||
辅助概念 | ||||
(C++23)
|
||||
辅助类 | ||||
(C++23)
|
||||
(C++23)
|
||||
ignore
|
在标头
<tuple>
定义
|
||
const /*unspecified*/ ignore;
|
(C++11 起) (C++17 前) |
|
inline constexpr /*unspecified*/ ignore;
|
(C++17 起) | |
任何值均可赋给而无效果的未指定类型的对象。目的是令 std::tie 在解包 std::tuple 时作为不使用的参数的占位符使用。
可能的实现
namespace detail { struct ignore_t { template <typename T> constexpr // C++14 起要求 void operator=(T&&) const noexcept {} }; } inline constexpr detail::ignore_t ignore; // C++17 前仅 'const' |
示例
解包 set.insert() 所返回的 pair ,但只保存布尔值。
运行此代码
#include <iostream> #include <string> #include <set> #include <tuple> int main() { std::set<std::string> set_of_str; bool inserted = false; std::tie(std::ignore, inserted) = set_of_str.insert("Test"); if (inserted) { std::cout << "Value was inserted successfully\n"; } }
输出:
Value was inserted successfully
参阅
(C++11)
|
创建左值引用的 tuple ,或将 tuple 解包为独立对象 (函数模板) |