Re[7]: api design: return code or exception - formal criteri
От: jazzer Россия Skype: enerjazzer
Дата: 03.09.09 14:08
Оценка:
Здравствуйте, Quasi, Вы писали:

Q>Здравствуйте, jazzer, Вы писали:


J>>Здравствуйте, Quasi, Вы писали:


Q>>>void f(boost::system::error_code& ec = boost::system::throws);


Q>>>Нельзя невольно проигнорировать ошибку, исключает необходимость дублирования интерфейса

J>>И исключает возможность привязки по указателю на функцию

Q>
Q>boost::bind(&f, boost::ref(boost::system::throws));

Q>boost::system::error_code error;
Q>boost::bind(&f, boost::ref(error));
Q>


Q>В чем собственно проблема? Или я неправильно понял?

1) нельзя к указателю на функцию привязать
2) нужно все время писать boost::ref(boost::system::throws)


Когда просто вызваешь функцию, разницы никакой, хоть они одна, хоть две, а вот связать такую функцию с указателем уже нельзя.
И даже функцию-переходник без параметров нельзя сделать — будет ругаться на неоднозначность.
Так что для пользователей твоей библиотеки никаких плюсов нету, им гораздо удобнее иметь две функции, котороые обе можно связывать с указателями.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.