deque中iterator的使用有关问题

deque中iterator的使用问题Lliang的C++里面的例子在使用deque的迭代器时,double values[] {1, 2, 3, 4,

deque中iterator的使用问题
Lliang的C++里面的例子
在使用deque的迭代器时,
double values[] = {1, 2, 3, 4, 5, 6, 7};
    deque<double> doubleDeque(values, values + 7);
deque<double>::iterator itr=doubleDeque.begin(); doubleDeque.insert(itr+1,555); doubleDeque.insert(itr+1,666);出异常,

Debug assertion failed

请问是什么原因



[解决办法]
我刚才仔细跟踪了一下发现,用insert()插入时,返回新的元素的位置总是当前的前一个,比如,当前插入的位置是[1],则返回[0]位置,而在插入[1]位置时,所有原来元素[1],[2].....都后移一位。若当前插入位为[0],这仍然返回[0].