Согласно Википедии , вызовы функций не копируют параметры с references
в const
тип:
void f_slow(BigObject x);
void f_fast(const BigObject& x);
f_slow(y); // slow, copies y to parameter x
f_fast(y); // fast, gives direct read-only access to y
Почему ссылка должна быть const
? Разве не-1009 * ссылка не может сделать то же самое:
void f_should_be_fast(BigObject& x);