Что касается объектов (особенно строк), вызов по ссылке выполняется быстрее, чем вызов по значению, поскольку при вызове функции не требуется создавать копию исходного объекта. Используя const, можно также гарантировать, что ссылкой не злоупотребят.
Мой вопрос в том, работает ли вызов const по ссылке быстрее при использовании примитивных типов, таких как bool, int или double.
void doSomething(const string & strInput, unsigned int iMode);
void doSomething(const string & strInput, const unsigned int & iMode);
Я подозреваю, что лучше использовать вызов по ссылке, как только размер примитивного типа в байтах превышает размер значения адреса. Даже если разница небольшая, я бы хотел воспользоваться преимуществом, потому что я вызываю некоторые из этих функций довольно часто.
Дополнительный вопрос: влияет ли встраивание на ответ на мой вопрос?