c++ - memory leaks при использовании pop_back()


0

Для удаления последнего элемента в векторе использую pop_back()

void Parser::pop() {
    if (operand.size() < 1) 
        throw ParserException("stack is empty:(");
    else {
        operand.pop_back();
    }
}

Если после использования pop_back() я буду добавлять новый элемент в вектор с помощью push_back() будет утечка памяти, из-за чего это может быть?

Источник
  •  164
  •  0
  • 16 янв 2019 2019-01-16 10:13:50
Как вы определяете что есть леак? — 16 янв 20192019-01-16 09:56:55.000000
@Harry У меня работает цикл в котором я определяю что нужно сделать (добавить, удалить и т.д) Если нужно добавить я использую такой прием IOperand const *a; a = _factory.createOperand(return_type(iter->type),iter->value); operand.push_back(a); и все хорошо работает, и pop_back удаляет в конце списка но если я после этого еще раз использую этот прием будет лик — 16 янв 20192019-01-16 09:45:43.000000
У стандартного std::vector? простите, не верю. Так сказать, доказательства в студию :) — 16 янв 20192019-01-16 09:39:45.000000
@Harry будет утечка памяти, утверждение — 16 янв 20192019-01-16 09:37:07.000000
Так вы спрашиваете, будет ли утечка, или утверждаете, что она будет? — 16 янв 20192019-01-16 09:35:30.000000

Ответов пока нет