前奏:
std::tuple<int, int, int> f();
std::tuple<int, int, float, int> g();
C++1z将引入结构化绑定的语法,这将使编写代码而不是
int a, b, c;
std::tie(a, b, c) = f();
就像这样
auto [a, b, c] = f();
但是,std::tie
还允许指定std::ignore
以忽略某些组件,例如:
std::tie(a, b, std::ignore, c) = g();
使用新的结构化绑定语法可以做类似的事情吗?它是如何工作的?
发布于 2021-03-10 03:03:34
我通常使用_
,它在C++中是一个有效的标识符,但看起来与Kotlin的下划线操作符相同,后者丢弃了lambda参数。你最终会得到一个很好的代码,就像这样
map([&](auto it) {
auto [_, deviceServiceXAddr] = it;
return deviceServiceXAddr;
});
https://stackoverflow.com/questions/40673080
复制相似问题