Mar*_*som 19 c++ c++-standard-library
标准库中有一些函数,例如std::map::insert,返回一个std::pair.有时,将两个不同的变量填充对应于该对的一半将是方便的.有一个简单的方法吗?
std::map<int,int>::iterator it;
bool b;
magic(it, b) = mymap.insert(std::make_pair(42, 1));
Run Code Online (Sandbox Code Playgroud)
我在找magic这里.
Tim*_*lds 28
std::tie从<tuple>标题是你想要的.
std::tie(it, b) = mymap.insert(std::make_pair(42, 1));
Run Code Online (Sandbox Code Playgroud)
" magic":)
注意:这是C++ 11的一项功能.
在 C++17 中,您可以使用结构化绑定。所以你不必先声明变量:
auto [it, b] = mymap.insert(std::make_pair(42, 1));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1866 次 |
| 最近记录: |