tima-s@ya.ru

Рубрика: Блог

Life is life

Created with Sketch.

Задачка на Swift

Хожу по собеседованиям в поиске работы. На одной из бесед дали вот такую интересную задачку. Я решал ее на языке Swift, поскольку собеседуюсь на iOS-программиста, но на самом деле язык неважен для решения. На само решение давалось 20 минут. Скажу честно, я не успел решить за столь короткое отведенное время. Может быть волнение дало о…
Читать дальше

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

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

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

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

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

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