Re[17]: Реализация IN, IN-OUT и OUT параметров функций
От: k.o. Россия  
Дата: 20.09.11 12:01
Оценка: 2 (1)
Здравствуйте, Galiulin Rishat Faimovich, Вы писали:

GRF>Здравствуйте, k.o., Вы писали:


KO>>Здравствуйте, Galiulin Rishat Faimovich, Вы писали:


KO>>>>>>Попробуйте повторить этот пример используя ваш specification.hpp.


GRF>>>Вроде теперь ваш пример работает


KO>>Зато, теперь не работает добавление константности:


GRF>А для каких целей нужно будет добавление константности если полностью перейти на in, in_out, out нотацию?

GRF>Как я понимаю in параметр должен гарантировать толко неизменность передаваемого внешнего для функции параметра.

Многие (я в том числе) предпочитают обеспечивать, также, неизменяемость входных параметров внутри самой функции (см., например, "Совершенный Код" 2-е издание, изд. Питер, с. 173). Вы сами-то здесь
Автор: Galiulin Rishat Faimovich
Дата: 14.09.11
зачем заменили 'int* bar_in' на 'const int* const bar_in'? То, что в некоторых случаях их всё-таки имеет смысл делать изменяемыми, всего лишь, показывает ограниченность модели in/in_out/out (или, если хотите, системы типов C++). В принципе, всё это прекрасно решается введением соглашений об именовании параметров (например, добавлением префиксов in, inOut, out к именам параметров) и code review, но, в этом случае нет никакого смысла и в дополнительных обёртках, таких как ваши.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.