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