我正在阅读由Nicolai M.Josuttis编写的"The C++ STL.教程和参考资料“,其中一章专门讨论STL算法,作者声明如下:如果您为列表的元素调用remove(),算法不知道它在列表上操作这种行为与列表的主要优点相矛盾:能够通过修改链接而不是修改values.To来插入、移动和删除元素,避免性能不佳,列表为所有操作算法提供特殊的成员函数。你应该总是喜欢它们。此外,这些成员函数实际上删除了“已删除”元素,如本例所示:#include <algorithm>
u
for (int i = -3; i < 3; i++){ list.add(i);for (int i = 0; i < 3; i++){ list.remove(i);当他们打印自己时,设置打印,而list打印。对于list.remove()方法,由于它是重载的,所以它认为它的参数是索引,而不是对象。是这样的吗?为什么会发生这种情况,以及如何使用函数绑定修复列表以打印所需的输出?
提前谢谢。
我得到了这个类,但是我不明白删除函数是如何工作的。为什么在Customer之前需要类名( remove() ),以及Customer customer = (Customer) customers.firstElement();是什么意思?{} * @return the first customer in the queueCustomer remove