
Файлы в C++: fstream и потоковый ввод-вывод на примерах
Как читать и писать файлы в C++ через fstream: текстовый и бинарный режим, построчное чтение, проверка ошибок и типичные грабли с кодировкой и позицией курсора.

Как читать и писать файлы в C++ через fstream: текстовый и бинарный режим, построчное чтение, проверка ошибок и типичные грабли с кодировкой и позицией курсора.

Программа читает число, а следом застревает на getline. Разбираем, почему так происходит, зачем нужен endl и как не превратить cin в источник бесконечного цикла.

Что происходит между командой g++ main.cpp и готовым исполняемым файлом: препроцессор, компиляция, ассемблирование, компоновка. Разбираем каждую стадию на команде и видим её отдельный вывод.

Как разделить код на .h и .cpp, что писать в заголовке, зачем нужны include guard и почему нельзя определять функции в шапке. Практический старт на C++17.

Разбираем, зачем C++ требует объявлять тип каждой переменной, чем int отличается от double и почему компилятор ловит ошибки ещё до запуска программы.

Ссылка в C++ — это второе имя для существующей переменной. Разбираем, как объявить ссылку, чем она отличается от указателя и где новичок ломает программу первым делом.

Пошаговая настройка компилятора C++ на Windows, macOS и Linux и сборка первой программы из командной строки. От установки до работающего hello.exe — около 20 минут.

Первое знакомство с указателями обычно заканчивается segmentation fault и часом непонимания. Разбираем, что такое указатель на самом деле, как его объявить, разыменовать и не выстрелить себе в ногу.

Невиртуальный деструктор, срезка объекта, ромбовидное наследование без virtual — четыре ошибки, из-за которых C++ течёт памятью и падает. Разбираем, почему так и как чинить.

За полчаса вы создадите первый класс на C++, разложите код по файлам .h и .cpp и скомпилируете рабочую программу. С чего начать и на чём спотыкаются новички.

Один и тот же параметр функции можно объявить пятью способами, и каждый диктует, сколько раз скопируется объект. Разбираем на примере std::string и std::vector, где копия стоит денег.

std::string, const char*, string_view — три способа работать с текстом в C++, и легко перепутать, кто владеет памятью. Разбираем ловушки, из-за которых программа падает или тихо портит данные.