Разработка приложений на C++
  • Введение
  • Особенности разработки программ на С++
    • Указатель на функцию
    • Преобразование типов
    • Наследование
    • Виртуальные функции
    • Перегрузка операций
    • Функциональные объекты
    • Шаблоны
    • Пространства имён
    • Обработка исключительных ситуаций
    • Немного о компиляции и сборке
    • Рекоммендации по написанию кода
    • Новые возможности стандарта С++11
    • Терминология
  • Понятие структур данных
    • Массивы
    • Динамические структуры
  • Метапрограммирование
    • Шаблоны функций
    • Шаблоны классов
    • Специализация шаблонов
      • Пример: вычисление факториала
      • Пример: числа Фиббоначчи
    • Конфигурации шаблонных классов
  • Стандартная библиотека С++
    • Обзор стандартной библиотеки С++
    • Структура стандартной библиотеки С++
      • Концепции
    • Ввод-вывод данных
    • Примитивы, определённые в библиотеке STL
    • Итераторы
    • Контейнеры
      • Inplus: Как это работает
    • Алгоритмы
      • inplus: Как это работает
    • Примеры использования стандартной библиотеки С++
    • Стандартная библиотека С++/Вопросы
    • Стандартная библиотека С++/Примеры лабораторных работ
  • Разработка и использование библиотек программирования
    • Создание библиотек программирования
    • Использование динамических библиотек
    • Вопросы
    • Примеры лабораторных работ
  • Ответы на вопросы
Powered by GitBook
On this page
  • Базовые концепции
  • Концепции размещения
  • Library-wide
  1. Стандартная библиотека С++
  2. Структура стандартной библиотеки С++

Концепции

Идея концепций перекликается с понятием интерфейсов и является описанием требований к сущностям стандартной библиотеки С++.

Базовые концепции

  • DefaultConstructible

    • определяет наличие конструктора по умолчанию.

  • MoveConstructible

    • объект строится передачей владения. (конструктор перемещения X(X&&) C++11)

  • CopyConstructible

    • определяет наличие конструктора копирования.

  • MoveAssignable

    • определяет наличие операции перемещения (X& operator=(X&&) C++11)

  • CopyAssignable

    • определяет наличие оператора копирования

  • Destructible

    • требует наличие деструктора

Концепции размещения

  • TriviallyCopyable

  • TrivialType

  • StandardLayoutType

  • PODType

Library-wide

  • EqualityComparable

    • оператор равенства

  • LessThanComparable

    • оператор упорядочения

  • Swappable

  • ValueSwappable

  • NullablePointer

  • Hash

  • Allocator

  • FunctionObject

    • наличие оператора круглые скобки (функтор)

  • Callable

  • Predicate

    • функтор, возвращающий логическое значение

  • BinaryPredicate

    • предикат с двумя параметрами. Например, операторы сравнения и упорядочения являются бинарными предикатами.

  • Compare

PreviousСтруктура стандартной библиотеки С++NextВвод-вывод данных

Last updated 2 years ago