c++ sizeof指针能否获取指针指向类型大小

avatar
作者
猴君
阅读量:0

在 C++ 中,sizeof 操作符返回的是括号内数据类型或对象所占用的字节数。对于指针来说,sizeof 返回的是指针本身(即存储地址的变量)的大小,而不是指针所指向类型的大小。

要获取指针指向类型的大小,你需要使用指针,并对该指针进行解引用。但是,请注意,你不能直接对原始指针使用 sizeof 来获取它所指向类型的大小,因为 sizeof 不适用于指针本身。你需要先解引用指针,然后对解引用后的对象使用 sizeof

以下是一个示例:

#include <iostream>  int main() {     int a = 10;     int* p = &a;  // p 是一个指向 int 类型的指针      // 获取指针指向的类型的大小(在这里是 int 类型)     std::cout << "Size of int: " << sizeof(*p) << " byte(s)" << std::endl;      return 0; } 

在这个示例中,我们首先定义了一个 int 类型的变量 a,然后创建了一个指向 int 类型的指针 p。接下来,我们使用 *p 对指针进行解引用,以便获取它所指向的对象(即 a)。最后,我们使用 sizeof(*p) 来获取解引用后的对象(即 a)的大小。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!