Добежать до Неба

Добежать до Неба. — Давай добежим до неба? — спросил призрак. — Давай. — Скатертью дорога — помахали ручками другие призраки.  От своих демонов не убежать, не скрыться. Но иногда так хочется оставить их всех дома. Взять с собой одного, самого доброго, чтобы было нескучно и добежать до неба.  Домашний край в объятиях моросящего дождя. Очень тихо. […]

Бревет 400, Арзамасский. 2019.

Долго думал, о чем же мне писать про бревет. В голове была смесь пустоты и хаоса. Какие-то мысли были, но летали хаотично, не удавалось поймать и понять, что я все-таки чувствую. Сейчас вроде постепенно собрал все воедино.  Многие писали про горки. Для меня горки не были проблемой. Норка (мой шоссер — Norco) залетала в горки […]

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

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

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

Умный указатель В прошлой статье мы затронули тему 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 […]