Я предполагаю, что bar
имеет обычный конструктор копирования формы bar(const bar &b)
. Возьмите здесь ссылку на const. После этого конструктор bar
возьмет эту ссылку и выполнит копию. Всего копий: 1.
Если вы оставите ссылку выключен, компилятор сделает копию b, передаст копию в конструктор foo
, который затем передаст ее в bar
и скопирует что.