为什么std::reverse(c.begin(), c.end())
要求底层容器c
提供双向迭代器?
事实上,这意味着 (multi-) map
, (multi-) set
,但这些不能颠倒,当然,因为它们是有序的。唯一的其他双向容器是list
但它有自己的成员函数.reverse()
。
这意味着一个人可以申请,std::reverse
哪些是随机访问。array
vector
deque
那么,为什么不“诚实”地说:需要随机访问,或者使用成员函数?
为什么std::reverse(c.begin(), c.end())
要求底层容器c
提供双向迭代器?
事实上,这意味着 (multi-) map
, (multi-) set
,但这些不能颠倒,当然,因为它们是有序的。唯一的其他双向容器是list
但它有自己的成员函数.reverse()
。
这意味着一个人可以申请,std::reverse
哪些是随机访问。array
vector
deque
那么,为什么不“诚实”地说:需要随机访问,或者使用成员函数?