4.3.6 使用向量的成员函数insert()
接下来,程序给主人公的物品栏添加了一个新物品。然而,此次不是将物品添加至序列的结尾处,而是添加至序列的开头。
- inventory.insert(inventory.begin(), "crossbow");
有一种形式的insert()成员函数将新元素插入至向量中给定迭代器引用的元素之前。此种形式的insert()需要两个实参:第一个为一个迭代器,第二个为需要插入的元素。在本例中,程序将"crossbow"插入至inventory中第一个元素之前。因此,所有其他元素将下移一位。 此种形式的insert()成员函数返回一个迭代器,它引用新插入的元素。在本例中,程序没有将返回的迭代器赋值给任何变量。
陷阱
对向量调用insert()成员函数会使所有引用了插入点之后的元素的迭代器失效,因为所有插入点之后的元素都下移了一位。
接下来,程序显示了向量的内容,证明插入成功。