Недавно я написал что-то вроде следующего. Однако я очень смущен, что ему удалось скомпилировать. Ну, теперь, когда это произошло, у меня есть некоторые вопросы ...Передача константной ссылки std :: pair на функцию
void tree_walk(const std::pair<tree, node> &tree_root)
{
tree t = tree_root.first;
node current = tree_root.second;
// code which walks the tree, updating current as we go along.
}
Мне интересно, вызывает ли вызов tree.first копирует дерево? Какова семантика передачи std :: pair в качестве ссылки?