当前位置: 首页 > news >正文

工业园区门户网站建设方案网站建设极地网

工业园区门户网站建设方案,网站建设极地网,陕西省建设监理协会网站,黑马程序员怎么样在 C 中,虚表指针(vptr)所在的内存分区与对象的存储位置相关,下面分不同情况进行介绍: 栈区 当对象是在栈上创建的局部对象时,虚表指针会随着对象一起被分配到栈区。栈区主要用于存储函数内部的局部变量和…

在 C++ 中,虚表指针(vptr)所在的内存分区与对象的存储位置相关,下面分不同情况进行介绍:

栈区

当对象是在栈上创建的局部对象时,虚表指针会随着对象一起被分配到栈区。栈区主要用于存储函数内部的局部变量和函数调用的上下文信息,其内存分配和释放由系统自动管理。当函数执行结束,栈上的对象会被自动销毁,虚表指针也随之消失。

示例代码

#include <iostream>class Base {
public:virtual void func() {std::cout << "Base::func()" << std::endl;}
};void test() {Base obj;  // 在栈上创建对象// obj 对象的虚表指针位于栈区obj.func();
}int main() {test();return 0;
}

在上述代码中,test 函数内部的 Base 对象 obj 是在栈上创建的,该对象包含的虚表指针也会存储在栈区。

堆区

  如果对象是使用 new 运算符在堆上动态分配的,那么虚表指针会随着对象一起被分配到堆区。堆区用于动态内存分配,由程序员手动管理内存的分配和释放(使用 new 和 delete)。只要对象没有被显式地使用 delete 释放,它就会一直存在于堆区,虚表指针也会一直存在。

示例代码

#include <iostream>class Base {
public:virtual void func() {std::cout << "Base::func()" << std::endl;}
};int main() {Base* ptr = new Base();  // 在堆上创建对象// ptr 指向的对象的虚表指针位于堆区ptr->func();delete ptr;  // 释放堆上的对象return 0;
}

 在这个例子中,Base 对象是通过 new 运算符在堆上创建的,其虚表指针也会存储在堆区,直到使用 delete 释放该对象。

全局 / 静态存储区

  当对象是全局对象或者静态对象时,虚表指针会存储在全局 / 静态存储区。全局对象在程序启动时就被创建,直到程序结束才被销毁;静态对象在第一次使用时被创建,并且在程序的整个生命周期内都存在。

示例代码

#include <iostream>class Base {
public:virtual void func() {std::cout << "Base::func()" << std::endl;}
};Base globalObj;  // 全局对象,虚表指针位于全局/静态存储区void test() {static Base staticObj;  // 静态对象,虚表指针位于全局/静态存储区staticObj.func();
}int main() {globalObj.func();test();return 0;
}

在上述代码中,globalObj 是全局对象,staticObj 是静态对象,它们的虚表指针都存储在全局 / 静态存储区。

虚表本身的存储位置

虚表(vtable)通常存储在只读数据段(RODATA),这是因为虚表中的内容在程序运行期间是固定不变的,包含了类的虚函数的地址等信息,将其放在只读数据段可以保证数据的安全性和共享性。

http://www.dtcms.com/a/424759.html

相关文章:

  • 网站建设网站系统选择做宣传册参考的网站
  • 自治区建设厅网站哪些网站做的比较好的
  • jsp网站开发技术难点建设永久网站
  • 做教育的网站有哪些中国怎么进fiverr网站做任务
  • 门户网站制作企业wordpress怎么做表格
  • 从索引失效到毫秒级响应——SQL 优化实战案例:从慢查询到高性能的完整指南之电商大促篇
  • 内联函数(inline)详解
  • 记力扣2271.毯子覆盖的最多白色砖块数 练习理解
  • MATH-500:大模型数学推理能力评估基准
  • 微商城网站建设方案网站宽度
  • 网站显示乱码怎么办啊微信小程序如何推广
  • iis 做网站市场调研报告怎么做
  • 免费搭建商业网站广州市行政区划图
  • 如何做宣传推广的网站链接网站建设标准 方案书
  • 温州网站建设团队利用百度网盘自动播放做视频网站
  • 如何做新网站保留域名展馆设计论文
  • 【机器学习】朴素贝叶斯法
  • 「React实战面试题」:React.memo为什么失效了?
  • 尼罗发表小说做的的网站是哪个抖音小店代运营
  • 手机网站用什么语言开发小影wordpress
  • 天津项目网站建设京东网站建设有哪些优点
  • 韩国在中国做美食的视频网站有哪些cvm可以做网站服务器吗
  • 做糕点的网站WordPress 主页分页
  • 做男装去哪个网站好网页设计包含的内容
  • 重庆免费网站建设自己做的网站可以百度推广吗
  • Java:代码块
  • 五维论推普朗克公式和质能方程和多普勒效应
  • 动画网站模板诸暨 外贸网站建设
  • 可视化信息 网站室内设计方案
  • 建设企业网站收费网站权重划分