标准库函数对象和无关指针的比较

问题描述 投票:0回答:1

我在阅读[[C ++ Primer 5th Edition时遇到了这个问题

标准库定义了一组代表算术,关系和逻辑运算符的类。

这些库函数对象的一个​​重要方面是

该库保证它们将对指针起作用] >>。回想一下,比较两个不相关的指针是未定义的(第3.5.3节,第120页)。但是,我们可能想根据指针在内存中的地址对向量进行排序。尽管直接定义是不确定的,但我们可以通过以下库函数对象之一来实现:

我忍不住想知道,

它如何摆脱未定义的行为?

我的猜测也许是对某种足以容纳地址然后进行比较的类型的转换。还是这里还有其他活动?我在浏览C ++ Primer 5th Edition时遇到了这个问题。标准库定义了一组代表算术,关系和逻辑运算符的类。一个重要的...
c++ stl
1个回答
0
投票
您不能直接比较不相关的指针,但是可以将它们转换为足够长的无符号整数类型,然后进行比较。没关系。来自GCC的示例
© www.soinside.com 2019 - 2024. All rights reserved.