Вставка в вектор на переднем

iterator insert ( iterator position, const T& x );

Является ли объявление функции оператора вставки std :: Класс Vector .

Тип возвращаемого значения этой функции - итератор, указывающий на вставленный элемент. Мой вопрос: учитывая этот тип возвращаемого значения, какой способ является наиболее эффективным (это часть более крупной программы, которую я выполняю, где скорость имеет существенное значение, поэтому я ищу наиболее вычислительно эффективный способ) вставки в начале. Это следующее?

//Code 1
vector<int> intvector;
vector<int>::iterator it;
it = myvector.begin();
for(int i = 1; i <= 100000; i++){
    it = intvector.insert(it,i);
}

Или

//Code 2
vector<int> intvector;
for(int i = 1; i <= 100000; i++){
    intvector.insert(intvector.begin(),i);
}

По сути, в Коде 2 параметр,

intvector.begin() 

«Дорогостоящий» для вычислительной оценки по сравнению с использованием возвращенного итератора в Коде 1, или оба должны быть одинаково дешевыми / дорогостоящими ?

43
задан Sam 28 August 2014 в 10:50
поделиться