"get () const" против "getAsConst () const" - PullRequest
1 голос
/ 19 сентября 2008

Кто-то рассказал мне о разнице в стиле C ++ в их команде. У меня есть своя точка зрения на эту тему, но мне было бы интересно, чтобы за и против исходили от всех.

Таким образом, если у вас есть свойство класса, которое вы хотите предоставить через два метода получения, одно чтение / запись, а другое - только для чтения (то есть нет метода set). Есть как минимум два способа сделать это:

class T ;

class MethodA
{
   public :
      const T & get() const ;
      T & get() ;

      // etc.
} ;

class MethodB
{
   public :
      const T & getAsConst() const ;
      T & get() ;

      // etc.
} ;

Какими будут плюсы и минусы каждого метода?

Меня больше интересуют технические / семантические причины C ++, но приветствуются и стилистические соображения.

Обратите внимание, что MethodB имеет один главный технический недостаток (подсказка: в общем коде).

Ответы [ 11 ]

0 голосов
/ 19 сентября 2008

Хотя кажется, что ваш вопрос касается только одного метода, я был бы рад высказать свое мнение о стиле. Лично по стилю я предпочитаю первое. Большинство IDE будут отображать сигнатуру функций для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...