Объявление переменных в конструкции case

Я всегда советую максимально ограничивать область видимости переменных. Это значительно упрощает сопровождение программы и предотвращает многие ошибки. Самый распространенный вариант такого ограничения — конструкция for. С ней обычно не возникает проблем. Сегодня же я хотел поговорить о конструкции switchcase Читать полностью →

Компиляция приложений gtk

Для разработки приложений с использованием библиотеки gtk нужно немного: установить пакет libgtk2.0-dev и должным образом отредактировать make файл вашего приложения. В принципе ничего сложного. Но я хотел бы подробнее остановиться на этой строчке, которую нужно добавить в make файл. Читать полностью →

Лишние скобки меняют тип переменной

Как дополнительные круглые скобки могут сказаться на типе переменной? Я, если честно, никогда не задумывался над этим. Нет, я конечно слышал про перегрузку оператора (), но сейчас не об этом. Несколько дней назад мое невнимательное отношение к круглым скобкам привело к ошибке, найти которую удалось не сразу. Читать полностью →

Компонент TStringGrid не очищает удаленные строки

При работе с таблицей строк TStringGrid иногда возникает потребность удалить содержимое таблицы. Обычно это делается простым изменением количества строк и столбцов. Однако только этого может быть недостаточно. Читать полностью →

Неоднозначность при использовании reverse_iterator и const_reverse_iterator

Итераторы reverse_iterator и const_reverse_iterator предназначены для перечисления элементов контейнера в обратном порядке (от конца к началу). Об этом написано в любой более или менее приличной книге по С++. Но есть ряд моментов, о которых там умалчивают. Один из них связан с неоднозначностью, возникающей при работе с обратными итераторами. Читать полностью →

Почему важно подключать модуль к проекту

При работе в С++ Builder (да и не только в нем) иногда мы неправильно подключаем модуль к проекту. Если вы хотите использовать класс реализованный в другом модуле, то вы прописываете директиву #include. Это легко, быстро и понятно. Но этого недостаточно. Читать полностью →

Как открыть gnome-terminal в нужном каталоге

Пару месяцев назад, при работе над одним крупным проектом в Linux мне постоянно требовалось переходить в терминале в один и тот же каталог. Это легко выполняется с помощью команды cd. Но путь к нужному каталогу был очень длинным и постоянно вбивать его полностью мне быстро надоело. Читать полностью →

Пара слов в защиту goto

Все программисты знают, что использовать оператор goto — моветон. Объясняют это обычно тем, что он сильно запутывает код и делает его трудно читаемым. Это так. Но в некоторых случаях с помощью него можно избежать нежелательного дублирования кода. Читать полностью →

Компиляция приложений Windows в Linux

Одна из потрясающих особенностей Linux состоит в том, что, работая в нем, вы можете создавать приложения Windows. Такую возможность обеспечивает пакет mingw-w64. В его состав входят компиляторы для создания 32- и 64-битного кода С и С++ для систем Windows. Читать полностью →