Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение
intrusive_ptr не пользовали?
кхм, не сразу вдуплил в теги, вот прототип функции:
PointEx<int> makeFromPoint(const Point &);
а можно немного понудить?
<нужу>
а что если шаблонным параметром будет не int и не float и даже не double, а какой-нибудь class XAxisCoord? я бы не объявлял PointEx(const Point&);, а сделал бы что-то вроде PointEx makeFromPoint(const Point &); не членом класса.
</нужу>
Сорри, просто давно ничего не проектировал, не писал - соскучился по этому делу.
обычно заранее неизвестно будет доклад толковым или нет.
кстати, тут есть те, кто за едро голосовать будет? сорри за оффтоп
флудер ешелона № 2 :)
помнится Медведев обещал не цензурировать интернет.
там есть горка примеров. среди них же и http-сервер — www.boost.org/doc/libs/1_48_0/doc/html/boost_asio/examples.html штука чудесная. http server пример 3 с пулом потоков. все буквально в несколько строчек.
httperf. строит запросы на основе лога веб-сервера (nginx или apache, к сожалению, сейчас не вспомню). наступали на эти грабли, были довольны результатами ab пока не запустили маркетинг на проекте.
> 1) была free, 2) умела работать с сокетами и можно быстро было поднять свой сервер, 3) нужна была оббёртка над потоками для плюсов

boost::asio
ab не дает адекватных результатов, т.к. посылает одни и те же запросы, что быстро работает засчет кэширования. в таком случае и на VB можно написать сервер, который не дольше отработает эту серию.
скорее всего, потому что до этого был конкурс связанный с яндекс-пробками
отличное мнение!
вобщем-то согласен с вами, только вот добавлю:
> > С членами классов работать через set/get методы.
> И что в этом такого, во многих языках нет свойств. А если уж хочется, то реализуются они не очень сложно, сам юзал, но вернулся на к set/get методам

а в других ОО языках разве не надо использовать сеттеры-геттеры? утомляет писать руками — есть библиотеки. ах да, тут ведь еще макросы отлично подходят, но это рассово неверный подход. вобще их даже гуглы не стесняются пользовать (взгляните в pcrecpp.h)

> > Так, члены должны объявляться с префиксом 'm_', чтобы не было.
> Вас кто-то заставляет с плеткой это делать? Это не стандарт, язык этого не требует, я лично префиксы не использую, для подсказок есть IntelliSence, да и VisualAssist.

ну а я, например, после переменной оставляю подчеркивание. всегол лишь рекомендация.

> > Никаких goto. Лучше do { break; } while(0); От этого суть глобально меняется.
> Я бы поспорил, goto нифига визуально не хороша, а break/continue проще отследить визуально. Я сам против goto, сколько программирую, всегда обходился без него.
в одном из недавних топиков в комментах обсуждали случаи, где это уместно (http://habrahabr.ru/blogs/code_review/125120/).

>> Не должно быть больше 4 вложенных конструкций.
это рекомендация кросс-языковая, с++ тут ни при чем.

> reinterpret_cast, static_cast, const_cast. Почему нет private_to_public_in_case_exception_cast?
быть может потому что он не нужен? все касты, имхо, архитектурно обоснованы — делают проверку типов в необходимой манере. const_cast — то, что все так ругают, сделан больше для того, чтобы дать выход программистам, если архитектурно не сложилось у них…

Резюмируя, могу сказать, что автор просто поддался модному тренду — поливать грязью язык.
> Например, хочешь использовать списки? Будь добр, пойми, что такое шаблоны, область видимости
я бы сказал: «если хочешь программировать, то пойми ...»
в основном это как стриптизерша — смотри, но не трогай.
интересно, надо будет проверить на досуге)
освобождение ресурсов — другой неплохой пример (в ядре линукса с той целью обычно и используется).
еще пример где без goto не обойтись (по крайней мере я не вижу как) — выход из трех вложенных циклов. Зачем делать три вложенных цикла — другая тема)
ну там целый раздел есть «Актуальность». только в случае фундаментальных исследований что там пишут я, если честно, не скажу.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность