我最近在回答一个关于p < q
当p
和q
是指向不同对象/数组的指针时在C 中执行的未定义行为的问题。这让我想到:C ++ <
在这种情况下具有相同(未定义)的行为,但是还提供了标准库模板std::less
,该模板保证可以返回与<
可以比较指针时相同的东西,并在不能比较时返回一些一致的顺序。
C是否提供具有类似功能的东西,从而可以安全地比较任意指针(相同类型)?我尝试浏览C11标准并没有发现任何东西,但是我在C中的经验比在C ++中小得多,因此我很容易错过一些东西。
c pointers memory-model undefined-behavior memory-segmentation