Monthly Archives: Март 2019

Текстовый редактор для Git в среде Windows

Git требует, чтобы каждый коммит сопровождался текстовым пояснением. Для краткого пояснения вполне достаточно ключа -m, но назначение коммита не всегда можно описать одним словосочетанием. В этом случае использовать ключ -m неудобно.

Вообще грамотное составление коммитов и комментариев к ним — отдельная тема, которую мы не будем здесь обсуждать. Я хотел прежде всего сосредоточиться на инструментарии. Точнее поделиться своим личным опытом поиска оного в среде Windows. Читать полностью →

Две проблемы использования Git в Windows

Все знают, что Git изначально появился в Linux и только потом его портировали в Windows. Это наложило определенный отпечаток на его работу в «не родной» для себя среде. Сегодня я опишу две проблемы, с которыми я столкнулся при использовании Git в среде Windows. Читать полностью →

Шпаргалка Windows API теперь доступна на Bitbucket

Вчера наконец-то разместил на Bitbucket (аналог GitHub) исходные файлы всех трёх томов своего проекта Шпаргалка Windows API. Зачем я это сделал? Причин несколько. Читать полностью →

Итераторы не защищают от переполнения

Итераторы были введены в С++ в качестве основного механизма доступа к элементам контейнера. Они должны обеспечивать унифицированный объектно-ориентированный доступ к элементам. Но насколько он безопасен? То есть, защищают ли итераторы от индексного переполнения? Давайте проверим. Читать полностью →

std::vector при нехватке памяти

Контейнер std::vector представляет собой динамический массив, автоматически увеличивающийся в размере по мере надобности. Он описан в любом приличном руководстве по С++. Там же описываются его методы, достоинства и недостатки по сравнению с другими контейнерами.

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