相关疑难解决方法(0)

对C++标准中的指针通用少<>

很多时候我需要一组指针.每次发生这种情况时,我最终都会为指针类型编写一个较少的<>实现 - 将两个指针强制转换为size_t并比较结果.

我的问题是 - 标准中是否提供?我找不到那样的东西.似乎很常见的情况......

更新:似乎即将推出的标准修复了所有问题,并为指针类型和包含的unordered_set提供了较少的<>.几年后,这个问题将毫无意义.

同时,当前标准没有"合法"的解决方案,但size_t演员工作.

更新更新:好吧,我会很惊讶!不只

std::map<void *, int, std::less<void*> > myMap;
Run Code Online (Sandbox Code Playgroud)

工作,但甚至

std::map<void *, int > myMap;
Run Code Online (Sandbox Code Playgroud)

同样.

这是在gcc 3.4.1.我一直在做所有这些演员阵容,而且litb是完全正确的.甚至他引用的章节编号在当前标准中也完全相同.欢呼!

c++

31
推荐指数
1
解决办法
8881
查看次数

您可以将 nullptr 与其他指针进行比较以进行排序吗?它总是更小吗?

这个问题基于我发现监控可能内存泄漏的代码,因此它包含一些您可能不希望在常规程序中看到的代码,例如排序指针。

但是,我看到设置了一个指针nullptr,然后将该指针与最大地址进行比较。是否由 C++ 标准保证nullptr总是小于其他指针operator<

c++ pointer-arithmetic comparison-operators nullptr

26
推荐指数
3
解决办法
1719
查看次数