This question already has answers here:
What is the difference between (type)value and type(value)?
                                
                                    (5个答案)
                                
                        
                                在10个月前关闭。
            
                    
iterator1iterator2是结构的两个指针。

我知道size_t(iterator1 - iterator2)是要获取长度。但是我们怎么可以这样使用size_t?这类似于(size_t)(iterator1 - iterator2)这样的强制类型转换吗?

最佳答案

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

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

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

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


是首选。

关于c++ - C++ size_t(iterator1-iterator2)是什么意思? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54657493/

10-12 01:29