понедельник, 4 ноября 2013 г.

[prog.c++] В интересном порядке попались на глаза ссылки

На днях в интересном порядке попалось на глаза несколько ссылок, касающихся тонкостей C++ (и C).

Сначала это была презентация Deep C (and C++) (о которой я уже писал года полтора назад).

А затем ссылки на три записи в блоге LLVM, касательно оптимизации кода и взаимного влияние на это такой штуки, как undefined behaviour: What Every C Programmer Should Know About Undefined Behavior: #1, #2, #3 (ссылки были найдены здесь).

Интересное чтиво. Для действующих С++ (и C) разработчиков к прочтению обязательно, имхо.

Так же захотелось взять за правило бить по рукам тех, кто слишком много знает про особенности компиляторов и полагается в своем коде на тонкости стандарта. Чем проще и однозначнее код, тем меньше геморроя будущим поколениям. Хотя, конечно, полезно знать, чем отличается инициализация статической локальной переменной от автоматической. Но все же лучше, когда человек явно пишет static int i = 0, чем static int i. А еще лучше, когда статические переменные вообще не используются ;)

Комментариев нет: