zoukankan      html  css  js  c++  java
  • 怎么查看一个类的内存分布

    Visual Studio工具,像下面这样一步一步来:

    先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局,如果写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX的内存布局。近期的VS版本都支持这样配置。

    下面可以定义一个类,像下面这样:

    复制代码
    1 class Base
    2 {
    3     int a;
    4     int b;
    5 public:
    6     void CommonFunction();
    7 };
    复制代码

    然后编译一下,可以看到输出框里面有这样的排布:

    这里不想花精力在内存对齐因素上,所以成员变量都设为int型。

    从这里可以看到普通类的排布方式,成员变量依据声明的顺序进行排列(类内偏移为0开始),成员函数不占内存空间。

  • 相关阅读:
    N-Queens
    Pow(x, n)
    Maximum Subarray
    Spiral Matrix
    Jump Game
    Merge Intervals
    Insert Interval
    Length of Last Word
    Spiral Matrix II
    Amazon 面经
  • 原文地址:https://www.cnblogs.com/likemao/p/9265725.html
Copyright © 2011-2022 走看看