parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

про передачу по неконстантной ссылке

egr 07.01.2008 19:53

Действительно тут нет ничего плохого кроме читабельности кода. Вот так:
voig read(string& message);

...

string message;
read(message);
не очень понятно при беглом просмотре что происходит - то ли читается из параметра (входной), то ли в него (выходной). А вот так:
voig read(string* pMessage);

...

string message;
read(&message);
Сразу явно видно что переменная может измениться, т.е. параметр явно выходной. Да за это приходится платить (-> вместо точки + проверки), но мне кажется это разумная плата за удобочитаемость. Короче говоря, указатели вместо ссылок - это из разряда постановки констант слева в предикатах.

Ссылки в тему:
http://www.joelonsoftware.com/articles/Wrong.html
http://www.joelonsoftware.com/news/fog0000000215.html