После долгих поисковых запросов я много узнал о функциях маркировки и их параметрах как const
, но нет руководства по маркировке переменных как const
.
Вот действительно простой пример:
#include <string>
#include <iostream>
void example(const std::string& x) {
size_t length = x.length();
for (size_t i = 0; i < length; ++i) {
std::cout << x.at(i) << std::endl;
}
}
int main() {
example("hello");
}
Почему бы не сделать
size_t length = x.length();
const как
const size_t length = x.length();
по соглашению?
Я знаю, что такой маленький, простой пример действительно не показывает огромную пользу для этого, но похоже, что это было бы полезно в большей базе кода, где вы могли бы случайно изменить переменную, которую вы не должны мутировать.
Несмотря на это преимущество, я действительно не вижу, что он так много использовал (в кодовых кодах С++, которые я видел), или упоминал почти столько же, сколько о выполнении функций и их параметров const
.
Есть ли недостаток, чтобы сделать это иначе, чем набрать дополнительные символы? Я не нашел много на эту тему, и я не хочу стрелять в ногу, если это проблема с таким количеством сотен.