gpt4 book ai didi

c++ - 为什么顺序容器同时具有 size_type 和 difference_type?

转载 作者:IT老高 更新时间:2023-10-28 22:18:01 27 4
gpt4 key购买 nike

vector<int>两者都有vector<int>::size_typevector<int>::difference_type .从size_type 开始,两者似乎都没有必要存在。保证能够保存与 vector<int> 的最大元素数一样大的值。可能包含在给定的系统上,并且在任何有效的用例中,difference_type必须小于或等于最大元素数,即顺序容器中两个元素之间的距离永远不会大于顺序容器可以包含的最大元素数。有人可以举个例子说明两者之间有什么区别吗?

最佳答案

container::difference_type 存在是因为对于某些序列容器,您可以减去迭代器。该减法可能导致负数。您不能将 container::size_type 用于该结果,因为它是无符号的,因此您永远不会有负值。所以我们有 container::difference_type 这是一个有符号整数,它是容器迭代器的 difference_type

关于c++ - 为什么顺序容器同时具有 size_type 和 difference_type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45887857/

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