Как стать автором
Обновить
2
0.1

Пользователь

Отправить сообщение

UB or not UB: дублируем элемент std::vector

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6.4K

В статье выясним, можно ли с точки зрения стандарта языка C++ тривиальным вызовом push_back продублировать элемент std::vector. Отвечая на простой вопрос, столкнемся с более интересными: что собой представляет внутренний мир вектора, как "протухают" итераторы при реаллокации, какие ограничения добавляют гарантии безопасности относительно исключений...

Читать далее
Всего голосов 37: ↑37 и ↓0+54
Комментарии15

Объявление и инициализация переменных в C++

Уровень сложностиСредний
Время на прочтение41 мин
Количество просмотров21K


Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это шестая статья из серии, список предыдущих статей приведен в конце в разделе 7. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Данная статья посвящена объявлению и инициализации переменных.


Переменные являются основой любого языка программирования. В языках со статической типизацией, к которым относится C++, все переменные должны быть объявлены, их тип определяется на стадии компиляции и не может меняться в процессе работы программы. Тип переменных указывается при объявлении явно или выводится компилятором на основе типа инициализирующего выражения.


Во многих языках программирования объявление переменных относится к довольно простым темам, но вот в C++ это не совсем так. Конечно, простые варианты обычно не вызывают затруднений, но вот более сложные случаи могут озадачить даже достаточно опытных программистов. Попробуем разобраться во всех тонкостях объявления переменных. Также рассмотрим тему инициализации, так как чаще всего переменные инициализируются вместе с объявлением.

Читать дальше →
Всего голосов 27: ↑26 и ↓1+31
Комментарии48

IDE, которые были у нас 30 лет назад… и которые мы потеряли

Время на прочтение9 мин
Количество просмотров62K
Я учился программировать в конце 1980-х — начале 1990-х годов. Тогда я не совсем понимал, что я делаю и почему инструменты, которые я использовал, были впечатляющими, учитывая ограничения имеющегося у нас железа. С годами я приобрел больше знаний, и теперь мне очень интересно взять в руки DOSBox, чтобы заново испытать те программы и сравнить их с нынешним положением дел.

image
Читать дальше →
Всего голосов 106: ↑99 и ↓7+117
Комментарии427

Памятка/шпаргалка по SQL

Время на прочтение29 мин
Количество просмотров953K

Доброго времени суток, друзья!


Изучение настоящей шпаргалки не сделает вас мастером SQL, но позволит получить общее представление об этом языке программирования и возможностях, которые он предоставляет. Рассматриваемые в шпаргалке возможности являются общими для всех или большинства диалектов SQL.

Читать дальше →
Всего голосов 41: ↑37 и ↓4+42
Комментарии18

Почему B-деревья быстрые?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров49K

B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных.

После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.

Читать далее
Всего голосов 151: ↑150 и ↓1+183
Комментарии13

Информация

В рейтинге
3 565-й
Зарегистрирован
Активность