Аннотация:
Эта книга поможет новичку стать профессионалом, так как в ней представлен сконцентрированный лучший опыт программистов на C++, обобщенный двумя экспертами мирового класса. Начинающий программист найдет в ней простые и понятные рекомендации для ежедневного использования, подкрепленные примерами их конкретного применения на практике.
Опытные программисты найдут в ней советы и новые рекомендации, которые можно сразу же принять на вооружение. Программисты-профессионалы могут использовать эту книгу как основу для разработки собственных стандартов кодирования, как для себя лично, так и для группы, которой они руководят. Конечно, книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.
Здравствуйте, Алексей Кирюшкин, Вы писали:
АК>Конечно, книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.
Те кто хотел углубить свои знания в данной области, давно прочитали Саттера и Майерса. В этой книге ничего нового нет
Здравствуйте, Angler, Вы писали:
A>Здравствуйте, Алексей Кирюшкин, Вы писали:
АК>>Конечно, книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.
A>Те кто хотел углубить свои знания в данной области, давно прочитали Саттера и Майерса. В этой книге ничего нового нет
Да, нет, зато она их резюмирует, и очень просто и замечательно
Здравствуйте, srggal, Вы писали:
S>Здравствуйте, Angler, Вы писали:
A>>Здравствуйте, Алексей Кирюшкин, Вы писали:
АК>>>Конечно, книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.
A>>Те кто хотел углубить свои знания в данной области, давно прочитали Саттера и Майерса. В этой книге ничего нового нет
S>Да, нет, зато она их резюмирует, и очень просто и замечательно
Кстати, с момента выхода стандарта — не так часто в С++ появляется что-то новое
Здравствуйте, Angler, Вы писали:
A>Здравствуйте, srggal, Вы писали:
S>>Да, нет, зато она их резюмирует, и очень просто и замечательно
A>Мне кажется, что в статье надо было это парисать первым предложением
100%
Здравствуйте, Angler, Вы писали:
A>Здравствуйте, srggal, Вы писали:
S>>Кстати, с момента выхода стандарта — не так часто в С++ появляется что-то новое
A>ну а зачем тогда переливать с пустого в порожнее?
Потому, например, что лично для меня гараздо проще прочитать текст книги сабжевых авторов, чем сухой текст стандарта, я знаю, что стандарт первоисточник, он у меня есть, но на книги сабжевых авторов, я денег не жалею.
Здравствуйте, srggal, Вы писали:
S>Потому, например, что лично для меня гараздо проще прочитать текст книги сабжевых авторов, чем сухой текст стандарта, я знаю, что стандарт первоисточник, он у меня есть,
эта... к стандарту языка C++ эта книга никакого отношения не имеет
Здравствуйте, Angler, Вы писали:
S>>Да, нет, зато она их резюмирует, и очень просто и замечательно A>Мне кажется, что в статье надо было это парисать первым предложением
а мне казалось, что статьи надо дочитывать до конца, а только потом писать к ним замечания
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, srggal, Вы писали:
S>>Потому, например, что лично для меня гараздо проще прочитать текст книги сабжевых авторов, чем сухой текст стандарта, я знаю, что стандарт первоисточник, он у меня есть,
OE>эта... к стандарту языка C++ эта книга никакого отношения не имеет
Имелось в иду, что до всего что описано в этих книгах можно дойти самому читаю стандарт
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Angler, Вы писали:
S>>>Да, нет, зато она их резюмирует, и очень просто и замечательно A>>Мне кажется, что в статье надо было это парисать первым предложением
OE>а мне казалось, что статьи надо дочитывать до конца, а только потом писать к ним замечания
Чтение по диагонали не практикуете ?
Хотя, конечно, прочитав оглавление увидел половину знакомых заголовков — пересекаются во многом с Exceptional C++ Style: 40 New Engineering Puzzles... и CUJ (что в общем-то не удивительно, т.к. авторы одни и те же).
Но всё равно must read
p.s. прочитав оглавление так же понял всё о чём собственно книга... т.ч. саму книгу уже можно не читать, но оглавление must read
Здравствуйте, Коваленко Дмитрий, Вы писали: КД>Здравствуйте, Алексей Кирюшкин, Вы писали:
КД>Для меня это была самая очень полезная трата денег — за 200 рублей я понял как убить предупреждение компилятора, которое меня долбало года три.
Ух ты, расскажи
Правильно работающая программа — просто частный случай Undefined Behavior
_Winnie wrote:
> КД>Для меня это была самая очень полезная трата денег — за 200 рублей > я понял как убить предупреждение компилятора, которое меня долбало > года три. > Ух ты, расскажи
Выкидывам все и переписываем на С#, где таких предупреждений не будет
Здравствуйте, _Winnie, Вы писали:
_W>Здравствуйте, Коваленко Дмитрий, Вы писали: КД>>Здравствуйте, Алексей Кирюшкин, Вы писали:
КД>>Для меня это была самая очень полезная трата денег — за 200 рублей я понял как убить предупреждение компилятора, которое меня долбало года три. _W>Ух ты, расскажи
У меня шаблон реализации методов COM объектов, в общих чертах, выглядит так
При генерации релизного кода, компилятор ругался, что значение, назначенное hr, не было использовано.
Поскольку, как правило, в реализации значение hr менялось. Предупреждений было просто море. И среди них, как потом оказалось, терялись другие нормальные предупреждения.
После 15-20 минут чтения книженции меня осенило:
HRESULT hr=S_OK;hr;
В результате просмотра всего имеющегося кода с реализациями COM-объектов, было обнаружено с десяток достаточно критических ошибок — в целях борьбы с этим предупреждением компилятора, в некоторых методах hr не инициализировали ...
Вот. В конечном итоге, вышеуказанная конструкция была оформлена в виде макроса (сейчас в меня полетят камни )
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>При генерации релизного кода, компилятор ругался, что значение, назначенное hr, не было использовано. КД>HRESULT hr=S_OK;hr;
Здравствуйте, z00n, Вы писали:
КД>>При генерации релизного кода, компилятор ругался, что значение, назначенное hr, не было использовано. КД>>HRESULT hr=S_OK;hr;
Z>В "C++ Coding Standards, 101" есть и это
По-моему мы же не "Муму", а именно эту книгу обсуждаем, из которой и было полученно вышеуказанное знание?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте, Алексей Кирюшкин, Вы писали:
АК>Опытные программисты найдут в ней советы и новые рекомендации, которые можно сразу же принять на вооружение. Программисты-профессионалы могут использовать эту книгу как основу для разработки собственных стандартов кодирования, как для себя лично, так и для группы, которой они руководят. Конечно, книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.
Если прочитал EC++/MEC++ другие книги классиков, эта книжка даст мне какие-то kill-знания, которых я раньше не имел?
Или это будет для меня просто сборник хороших добрых советов, без которых лекго прожить?
Правильно работающая программа — просто частный случай Undefined Behavior
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Здравствуйте, z00n, Вы писали:
КД>>>При генерации релизного кода, компилятор ругался, что значение, назначенное hr, не было использовано. КД>>>HRESULT hr=S_OK;hr;
Z>>В "C++ Coding Standards, 101" есть и это
КД>По-моему мы же не "Муму", а именно эту книгу обсуждаем, из которой и было полученно вышеуказанное знание?
Пардон, правда вышло смешно При беглом прочтении, мне показалось, что вас озарило после Макконелла
КД>При генерации релизного кода, компилятор ругался, что значение, назначенное hr, не было использовано.
Что-то я не пойму. Разве return hr — это не использование переменной hr?
Здравствуйте, _Winnie, Вы писали:
_W>Здравствуйте, _Winnie, Вы писали:
_W>Прочитал оглавление, книгу надо озаглавить "101 боян".
это для нас с вами баяны. а многие начинающие плюсовики, не все заголовки даже поймут.
если книжка написана хорошо, то ее смело можно рекомендовать — хороший и полный набор советов.
Здравствуйте, Глеб Алексеев, Вы писали:
КД>>При генерации релизного кода, компилятор ругался, что значение, назначенное hr, не было использовано. ГА>Что-то я не пойму. Разве return hr — это не использование переменной hr?
Там была такая строка
Поскольку, как правило, в реализации значение hr менялось.
То есть
HRESULT hr=S_OK; //компилятор говорит, что вот это присваивание было лишним
//...
hr=<результат работы>;
//...return hr;
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте, _Winnie, Вы писали:
_W>Здравствуйте, _Winnie, Вы писали:
_W>Прочитал оглавление, книгу надо озаглавить "101 боян".
А мне понравилось, так как в одной книжке собрано то что было раскидано по многих и при этом за приемлемую цену.
Вот еще одно открытие, благодаря этой книге, сделал. Правило 45 — "new и delete всегда должны разрабатываться вместе"
Никогда бы не подумал про описанный в этой главе принцип конструирования объектов в динамической памяти.
И, самое забавное, я потом напоролся на предупреждение компилятора VC7 об отсутствии симметричного оператора delete и вспомнил, что в этой книженции как раз что-то по этому поводу читал В моем случае ценным оказалась не сама эта глава, а исключение, описанное в конце этой главы.
А BCB ведь молчал как партизан!
Так что, еще раз, рекомендую всем сомневающимся найти в себе силы и почитать эту подборку правил.
PS. Особенно тем, у кого, как у меня, было темное детство
-- Пользователи не приняли программу. Всех пришлось уничтожить. --