Архив категорий:C++

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

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

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

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

Дружественная функция для шаблонного класса

При работе в С++ время от времени приходится создавать свои собственные шаблоны. Их синтаксис описывается в любой более-менее приличной книге по С++. Но правильное объявление дружественной функции может вызвать трудности. Продолжить чтение →

О размере типов int и long

Типы int и long (он же long int) хорошо знакомы каждому программисту C/C++. Их размер и диапазон возможных значений описываются в каждой книге по С/С++. Но оказывается то, что написано в книгах не всегда соответствует действительности. Продолжить чтение →

Функции printf, wprintf и _tprintf

В языке C/C++ существует два типа символов: обычный char и широкий wchar_t. Для каждого из них предусмотрена своя версия функции форматированного вывода. Для char это printf, а для wchar_twprintf. Но со временем понадобился третий вариант этой функции. Продолжить чтение →