Я могу придумать три способа заполнения std :: vector
Предположим, у нас есть
vector v(100, 0);
Затем я хочу, чтобы он удерживал (1, 1, 1). Мы можем сделать:
v.clear();
v.resize(3, 1);
Или
v = vector(3, 1);
И я изучил другой подход:
vector(3, 1).swap(v);
Первый вопрос: является ли какой-либо из них лучшим подходом?
Второй вопрос: предположим v
был объявлен вне основной функции. Согласно этому ответу , память будет выделена в сегменте данных. Если я использую второй или третий подход, будет ли память выделяться в стеке?