请问一个insert的有关问题!

请教一个insert的问题!!
list<int> lst(10,1);
list<int>::iterator iter=lst.begin();
lst.insert(iter,5);
书上说的insert将插入元素在iter所指向元素前插入,但是这个iter指向的第1个,在第1个之前插入是有效的么????我只知道超出末端第1个元素,难道也有超出始端吗??

------解决方案--------------------
list是一个双向链表,初始化时又一个节点,这个节点既是begin()也是end(),做标志位用,插入一个新节点只是将这些节点连接在一起,如下
CSS code

        list<int> li;
    assert(li.begin() == li.end());
    li.insert(li.begin(), 10);