Ночные эксперименты с компилятором.

Исключения вообще и в конструкторе в частности. В прошлой статье мы затронули тему исключений в конструкторе. Затронули вскользь. И сегодня попробуем разобрать подробнее. Исключения. Зачем они нужны? Вообще, это способ сообщить о какой-то нестандартной ситуации. Т.е. ваш код делает какое-то действие, которое заканчивается не так, как вы ожидаете. Например, пытаетесь прочитать файл, а он может […]

Ночные эксперименты с компилятором

Умный указатель В прошлой статье мы затронули тему RVO. Но наш класс был весьма отдаленно похож на умный указатель. Точнее даже совсем не похож. Поэтому продолжим нашу серию ночных экспериментов с компилятором. Сегодня в планах поговорить про умный указатель, один самый простой его вид — unique_ptr. Вообще умный указатель — это обертка над указателем обычным. […]

Ночные эксперименты с компилятором.

Return Value Optimization (RVO). Написал простейший код, имитирующий работу умного указателя С++. #include <iostream> using namespace std; class IntPtr { public: IntPtr(int i) { pInt = new int(i); cout << «Construct» << endl; } IntPtr(const IntPtr &c) { int t = c.getInt(); pInt = new int(t); cout << «Copy» << endl; } IntPtr& operator= (const […]

Свет

Как всегда, приглянулись краски неба, свет. Так получается, что бываю на улице, когда уже темно или рано утром, когда еще сумерки. Здесь повезло увидеть свет. Даже соскучился.  Давно ничего не пишу, но в целом все хорошо. На работе небольшие кадровые перестановки, меня перекинули в новый проект. Постигаю новое для себя. Ну как новое. Все одно […]

Бревет 300. Новый Заволжский

Спасибо всем за прекрасный день, прекрасный бревет. Поздравляю всех нас с успешным завершением бреветного сезона. Для меня этот праздник еще и двойной — этим бреветом я закрыл серию и во второй раз в своей жизни стал супер-рандонером. На КП все такие внимательные, заботливые! Спасибо вам! Женя Ремезова — все везде успевала, молодец! Девушка (имени, к […]