Здравствуйте, reversecode, Вы писали:
S>>Чем не устраивает стандартный вектор? При перерезервировании он делает copy или move конструирование элементов (что нежелательно для типов, которые я собираюсь в нём хранить). Ещё при инсерте делает move assignment.
R>бред
R>разберитесь когда они не используются
R>хотя бы сорсы посмотрите
https://godbolt.org/z/GGsdhqndT
При изменении capacity стандартный вектор вызывает copy конструкторы элементов в новом месте. Если нет copy конструктора, то вызывает move конструкторы.
При удалении не с конца будут вызваны операторы move присваивания для оставшихся элементов после удаляемого.
Разве нет?
Мне достаточно просто делать memmove() или memcpy() для элементов, которые я собираюсь в нём хранить.