C++ size_t(迭代器1 - 迭代器2)是什么意思
C++ What does size_t(iterator1 - iterator2) mean?
iterator1
和iterator2
是结构的两个指针。
我知道size_t(iterator1 - iterator2)
是要得到长度。但是我们怎么能使用这样的size_t
呢?这类似于像(size_t)(iterator1 - iterator2)
这样的强制类型转换吗?
您的语法只是基于表达式 iterator1 - iterator2
的值创建size_t
的指令。
size_t
不是最好的类型(因为它是unsigned
(,而且采用的方法也不是最好的方法。
假设iterator1
和iterator2
是同一容器上的迭代器(否则我呈现的内容和您拥有的内容的行为是未定义的(,
auto diff = std::distance(iterator1, iterator2);
是首选。
相关文章:
- 提供运算符+或运算符到双向迭代器有什么缺点吗?
- 连续迭代器有什么实际用途吗?
- 无法取消引用超出范围的向量迭代器 - 有什么问题?
- map<int,int>的*迭代器是什么?它不是pair<int,int>
- "const_iterator"真的需要与"迭代器"是不同的类吗?
- iostream迭代器是如何工作的
- 我的自定义迭代器有什么问题
- std::map迭代器是如何工作的
- 函数返回类型名列表:<T>:迭代器有什么问题?
- 为什么这样的迭代器是合法的
- regex_token_iterator和regex_迭代器有什么区别
- 提升单遍迭代器和前向遍历迭代器有什么区别?
- 哨兵和结束迭代器有什么区别?
- 字符串迭代器是不兼容的
- 嵌套迭代器循环,为什么迭代器是相等的?——c++
- c++中迭代器是如何处理List的
- 对于哪个标准容器(如果有的话),end()返回的迭代器是持久化的
- 矢量<bool>迭代器有什么保证吗?
- set中的迭代器是如何工作的
- 比较列表迭代器是O(n)吗