В процессе проверки кода один из моих коллег упомянул мне, что "const" перед "примитивными типами", используемыми в качестве параметра функции в заголовке, не имеет смысла, и он рекомендовал удалить эти "константы". В таких случаях он предложил использовать "const" только в исходном файле. Примитивные типы означают такие типы, как "int", "char", "float" и т.д.
Ниже приведен пример.
example.h
int ProcessScore(const int score);
example.cc
int ProcessScore(const int score) {
// Do some calculation using score
return some_value;
}
Его предложение делает следующее:
example.h
int ProcessScore(int score); // const is removed here.
example.cc
int ProcessScore(const int score) {
// Do some calculation using score
return some_value;
}
Но я немного смущен. Обычно пользователь будет смотреть только на заголовок, поэтому, если есть несоответствие между заголовком и исходным файлом, это может вызвать путаницу.
Может ли кто-нибудь дать совет по этому поводу?