Поведение метода vector reserve ()

Я хотел узнать поведение std :: vector :: reserve () в следующих ситуациях:

  1. Предположим, резерв (N) вызывается несколько раз один за другим сразу. Будет ли более ранний резервный (N1) добавляться или перезаписываться?
  2. Если более ранний резервный (N1) перезаписывается последним вызовом, тогда что произойдет, если последний резерв (Nn) требует меньшего количества слотов?
  3. После объявления вектора , если у нас есть просто push_back () X элементов, а затем мы вызываем резерв (N) . Будет ли уже push_back () X элементов, подсчитанных в N ?
  4. Предположим, если вектор имеет несколько X выталкиваемых элементов, и теперь, если мы push_back () Еще 1 элемент (X + 1), тогда этот объект должен переехать; но мы еще не выполнили push_back () . Что произойдет, если мы сейчас вызовем reserve () ? Будет ли объект перемещен немедленно ? Если нет, то как зарезервировано место?
6
задан Deduplicator 3 July 2015 в 17:22
поделиться