Пространства имён
Варианты
Действия

C++ именованные требования: MoveConstructible (начиная с C++11)

Материал из cppreference.com
 
 
Именованные требования в C++
Основные
Свойства типа
В масштабах библиотеки
Контейнер
Элементы контейнера
(C++11)

Итератор
Потоковый Ввод/Вывод
Форматтеры
(C++20)
Случайные Числа
(C++11)    
Конкуренция
(C++11)
(C++11)
Диапазоны
Другое
(C++11)


 

Определяет данный экземпляр типа как такой, что может быть приравнен к правостороннему аргументу.

Требования

Тип T удовлетворяет MoveConstructible если

Даны:

Эти выражения должны быть допустимыми и иметь следующие эффекты:

Выражение Постусловия
T u = rv; Значение u равно значению rv до инизиализации.

Новое значение rv является неопределенным.

T(rv) Значение T(rv) равно значению rv до инициализации.

Новое значениеrv является неопределенным.

Примечания

Класс не обязан обеспечивать конструктор перемещения, чтобы удовлетворять этому требованию к типу: копирующий конструктор, который принимает const T& аргумент может быть использован как правостороннеевыражение.

Если MoveConstructible осуществляет конструктор перемещения, оно может также реализовывать семантику перемещения, реализуя важное преимущество того факта, что значение rv после создания неопределен.

Смотри также

проверяет, может ли тип быть сконструирован из правосторонней ссылки
(шаблон класса) [править]
указывает, что объект типа может быть сконструирован перемещением
(концепт) [править]