Я знаю, что, когда это возможно, вы должны использовать ключевое слово const при передаче параметров по ссылке или по указателю для удобства чтения. Есть ли какие-либо оптимизации, которые может выполнить компилятор, если я укажу, что аргумент постоянный?
Может быть несколько случаев:
Параметры функции:
Постоянная ссылка:
void foo(const SomeClass& obj)
Постоянный объект SomeClass:
void foo(const SomeClass* pObj)
И постоянный указатель на SomeClass:
void foo(SomeClass* const pObj)
Объявления переменных:
const int i = 1234
Объявление функций:
const char* foo()
Какую оптимизацию компилятора предлагает каждый (если есть)?