gpt4 book ai didi

c++ - 为什么不重载 std::vector::erase 以获取整数索引?

转载 作者:太空狗 更新时间:2023-10-29 20:44:42 25 4
gpt4 key购买 nike

<分区>

std::vector::erase 将接受表示要删除的元素位置的单个迭代器,或表示范围的两个迭代器。但是你不能这样做:

std::vector<int> vec = { 1, 2, 3 };
vec.erase(1);

相反,你必须做类似的事情

vec.erase( vec.begin()+1 );

这似乎是不必要的额外工作——只是想知道,类设计的 POV 是否有某些原因导致不包含此重载?

编辑:选择最全面的答案,都很好。另外,在我撰写本文时,这篇文章因“不具有建设性”而获得 4 票接近;但是,考虑到答案的质量,我认为这显然是一个有用的问题,当然对我而言。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com