C++17 added a feature known as structured bindings, which look like this: auto[a,b,c]=some_aggregate; in this case, the names a, b, and c are bound to members of the initializer. The particular details on how this occurs are not important here, but we can consider the case of std::tuple: intsum(tuple<int,int,int>triple){auto[a,b,c]=triple;returna+b+c;} This is particularly handy when inspecting the elements of a container of pairs: intfoo(map<string,int>mp){for(auto[key,value]:mp){// ...}} La...