鉴于以下内容,您将看到x和y的大小相同,但y具有附加功能.sizeof中包含哪些内容,哪些内容不包含在内?
struct x
{
double a;
double b;
double c;
double d;
};
struct y
{
double a;
double b;
double c;
double d;
y(double q, double r, double s, double t) : a(q), b(r), c(s), d(t) {};
};
std::cout << sizeof(x)-sizeof(y) <<std::endl;
Run Code Online (Sandbox Code Playgroud)
sizeof中包含哪些内容,哪些内容不包含在内?
sizeof()仅包含必须作为每个类型实例的一部分存储在内存中的内容.(对于类或结构,它返回需要为实例分配的内存量.)
由于函数对于每个实例都是相同的struct y,因此它不作为结构的一部分存储 - 定义它只允许将函数作为结构上的方法调用.但是,如果它是一个函数指针,则指针将成为结构的一部分,并且会对其大小产生影响.
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |