Язык C
Типы данных, указатели, массивы, структуры, препроцессор, функции, управление памятью и работа с ABI.
Техническая документация
Краткие описания синтаксиса, стандартной библиотеки, моделей памяти, указателей, объектной модели C++, шаблонов и низкоуровневых деталей, которые часто нужны при системной и прикладной разработке.
Разделы
Типы данных, указатели, массивы, структуры, препроцессор, функции, управление памятью и работа с ABI.
Объектная модель, RAII, ссылки, перегрузка, шаблоны, исключения, constexpr, move-семантика и современные идиомы.
Контейнеры, алгоритмы, итераторы, строки, потоки ввода-вывода, chrono, filesystem и утилиты общего назначения.
Стек, куча, статическое хранение, выравнивание, владение ресурсами, dangling pointers и правила времени жизни объектов.
Файловые дескрипторы, сокеты, системные вызовы, многопоточность, атомарные операции и работа с низкоуровневым API.
Кэш-память, ветвления, inline, layout структур, копирование данных, профилирование и типичные ошибки оптимизации.
Краткая заметка
RAII связывает владение ресурсом с временем жизни объекта. Конструктор получает ресурс, деструктор освобождает его. Благодаря этому код остаётся корректным при раннем выходе из функции и при исключениях.
class File {
public:
explicit File(const char* path);
~File();
File(const File&) = delete;
File& operator=(const File&) = delete;
private:
int fd_ = -1;
};
Читать подробнее про RAII
Навигация