c++ - 这个类的一个对象分配了多少内存?

标签 c++ memory-management

在此示例类的一个对象中

class example
{
public:
    int x;
}

一个对象将被分配 4 个字节的内存。因为 int 需要 4 个字节。

将分配多少内存给以下类的对象 -

class node
{
public:
    int data;
    node *prev, *next;
};

int 将占用四个字节,但是'next' 和'prev' 指针呢?该类对象的总大小如何?

最佳答案

对象的总大小是 sizeof(int) + 2*sizeof(node*) + 编译器可能在成员之间添加的任何填充。使用 sizeof(node) 是找出它的唯一可移植且可靠的方法。

关于c++ - 这个类的一个对象分配了多少内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26194231/

相关文章:

java - 从静态 Map 中删除对象时是否会收集垃圾?

python - 调用父类函数比较父子类

c - 节省内存,巨大的数组替代c编程

c - Linux 内核的 free_list 如何初始化为指向空闲页面?

java - 小于 ObjectOutputStream 基元的基元数组

c++ - 线程超时

c++ - 体系结构 x86_64 : for caffe build 的 undefined symbol

c++ - 如何找出使用 gcc 时实际应用了哪些优化?

带有 TensorRT 的 C++ Tensorflow API

c++ - 在 free/malloc、外部内存 Hook 上花费了大量时间?