This question already has answers here:
What is the difference between (type)value and type(value)?
(5个答案)
在10个月前关闭。
我知道
是首选。
(5个答案)
在10个月前关闭。
iterator1
和iterator2
是结构的两个指针。我知道
size_t(iterator1 - iterator2)
是要获取长度。但是我们怎么可以这样使用size_t
?这类似于(size_t)(iterator1 - iterator2)
这样的强制类型转换吗? 最佳答案
您的语法仅是根据表达式size_t
的值创建iterator1 - iterator2
的指令。size_t
不是为此的最佳类型(因为它是unsigned
),该方法也不是最佳方法。
假设iterator1
和iterator2
是同一容器上的迭代器(否则,我呈现的内容和所拥有内容的行为未定义),
auto diff = std::distance(iterator1, iterator2);
是首选。
关于c++ - C++ size_t(iterator1-iterator2)是什么意思? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54657493/
10-12 01:29