C ++ size_t(iterator1-iterator2)是什么意思?

时间:2019-02-12 19:36:49

标签: c++

iterator1iterator2是结构的两个指针。

我知道size_t(iterator1 - iterator2)是用来获取长度的。但是,我们如何像这样使用size_t?类似于(size_t)(iterator1 - iterator2)这样的强制类型转换吗?

1 个答案:

答案 0 :(得分:3)

您的语法仅仅是基于表达式size_t的值创建iterator1 - iterator2的指令。

size_t不是最好的类型(因为它是unsigned),该方法也不是最佳方法。

假设iterator1iterator2是同一容器上的迭代器(否则,我所呈现的内容和所拥有内容的行为是不确定的),

auto diff = std::distance(iterator1, iterator2);

是首选。