gpt4 book ai didi

c++ - 实例化 C++ 类时内存中会发生什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:22:56 25 4
gpt4 key购买 nike

我对 C++ 的具体细节很感兴趣,我想知道当一个对象被实例化时究竟发生了什么变化。如果函数随后被添加到内存中,它们是否在运行时存在,或者它们是否根本没有存储在内存中,我特别感兴趣。

如果有人可以指导我访问一个关于 C 和 C++ 的一些核心 bolt 的好网站,我也很乐意。

谢谢,乔

最佳答案

不确定一个好的网站,但是 Inside The C++ Object Model是一本很好的书。

至少在通常情况下,成员函数的存在完全独立于类的任何实例。相反,类的实例是包含对象的(非静态)数据成员的结构。如果该类至少有一个虚函数,则该对象还将包含一个指向 vtable 的指针,它基本上是指向函数的指针数组。

当一个成员函数被调用时,该对象的地址作为一个隐藏参数传递给函数(许多编译器只为它保留一个寄存器)并且在函数中它被称为 this .

关于c++ - 实例化 C++ 类时内存中会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com