指针的整数表示形式
Integer representation of pointer
指针的整数表示是什么?
指针值仅是指向动态对象的安全派生指针如果它是对象指针类型,并且是下列类型之一:
[…]
—对安全派生的指针值的整数形式进行reinterpret_cast的结果;
[…]
我的疑问如下:类型int
小于任何指向类型的指针。特别是,指针不能使用reinterpret_cast
强制转换为int。
该术语在标准的下一段中定义。
整数值只有在其类型至少为的情况下,才是安全派生指针的整数表示形式
std::intptr_t
,它是下列之一:—安全派生指针值的
reinterpret_cast
的结果;—安全派生的指针值的整数形式的有效转换的结果;
—对象的值,该对象的值是从可跟踪指针对象复制的,其中在的时候源对象的副本包含安全派生的指针值的整数表示;
—加法运算或位运算的结果,其中一个操作数是a的整数表示形式安全派生的指针值
P
,如果reinterpret_cast<void*>
转换后的结果比较等于可从reinterpret_cast<void*>(P)
计算的安全派生指针。
相关文章:
- 我可以信任表示整数的浮点或双精度来保持精度吗
- 在 C++ 中将整数数组转换为位集表示形式的最佳方法?
- 如何更好地表示 6 个整数键而不是作为 6 维数组的索引?
- 浮点数中整数的精确表示形式
- 在C++中,将无符号整数转换为八进制表示,反之亦然的最佳方法是什么
- 给定一个整数,将其表示为平方和
- 整数文本太大,无法用任何整数类型表示--C++
- 运行时错误:有符号整数溢出:964632435 * 10 无法在类型 'int' 中表示
- 如何在以 256 为基数的唯一 xLen-digit 表示中写一个整数 x?
- 升序,三个整数表示C++
- 编译器C++如何在二进制代码中表示整数
- 将表示位置的整数分解为多个部分,然后再返回
- 计算表示有符号整数所需的最小字节数
- 整数数组元素,前导 0 表示垃圾输出
- 获取所有方式以两个整数的产品表示数字
- 为什么对Chrono :: Nanseconds的表示类型是签名的整数类型
- 用位表示整数类型大小的元程序
- 使用 cin.fail() 表示整数与地板
- 我有一个类来表示整数,我想区分磅和公斤,我该怎么做
- 使用布尔值表示整数