std::vector, похоже, предпочитает копировать, а не перемещать конструкцию при автоматическом изменении размера

Кажется, что когда std::vector изменяет свой размер (например, при вставке нового элемента и нехватке места), он использует конструктор копирования своих элементов, а не их конструктор перемещения, даже если они имеют оба.

  • Это общее правило, или мне нужно что-то сделать, чтобы убедиться, что движущийся ctor предпочтительнее (например, пометить вещи как noexcept?)
  • Если это общее правило, то почему?

Примечания:


person einpoklum    schedule 24.10.2017    source источник