Является ли хорошей идеей максимально возможное сохранение «константности»?

Недавно я разработал практику создания многих вещей в моем коде как const :

(1) Аргументы функции , которых я никогда не знал будет изменен. например: [

void foo (const int i, const string s)
          ^^^^^        ^^^^^ 

(2) Типы возврата как const ». например: [

struct A {
...
  const int foo () { return ...; }
  ^^^^^
  operator const bool () const { return ...; }
           ^^^^^
};

](3) Тривиальное вычисление целых чисел или строк. например:

const uint size = vec.size();
^^^^^
const string s2 = s1 + "hello ";
^^^^^

... и еще несколько мест. Обычно в других кодах реального мира я не вижу такие мелкомасштабные переменные, помеченные как const . Но я подумал, что создание их const никогда не повредит. Это хорошая практика программирования ?

11
задан iammilind 16 December 2011 в 09:35
поделиться