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

河南企业建设网站网站建设的课件

河南企业建设网站,网站建设的课件,手机制作网站app,信阳做网站推广信阳网站建设C 内存分区 C 内存分为 5 个主要区域: 栈 (Stack):存储局部变量、函数参数和返回地址。由编译器自动分配和释放,效率高但空间有限。 堆 (Heap):动态分配的内存区域,需手动管理(new/delete 或 malloc/free…

C++ 内存分区

C++ 内存分为 5 个主要区域:

栈 (Stack):存储局部变量、函数参数和返回地址。由编译器自动分配和释放,效率高但空间有限。
堆 (Heap):动态分配的内存区域,需手动管理(new/delete 或 malloc/free)。空间较大但容易产生碎片。
全局 / 静态存储区:存储全局变量和静态变量,程序启动时分配,结束时释放。
常量存储区:存储常量值(如字符串字面量),通常不可修改。
代码区:存储程序的机器码,只读区域。

堆和栈的区别

在这里插入图片描述

内存泄漏

定义:动态分配的内存未被正确释放,导致无法被再次使用。
产生原因:

忘记调用 delete/free
异常导致流程跳过释放代码
指针丢失(如被覆盖或作用域结束)

避免方法:

使用智能指针(如std::unique_ptr, std::shared_ptr)
RAII(资源获取即初始化)原则
统一内存管理接口(如封装 new/delete)
使用内存检测工具(如 Valgrind)
遵循 “谁分配,谁释放” 原则

智能指针

定义:自动管理对象生命周期的类模板,避免手动内存管理。
种类:

std::unique_ptr:独占所有权,不可复制但可移动。
std::shared_ptr:共享所有权,使用引用计数管理生命周期。
std::weak_ptr:弱引用,不增加引用计数,用于解决循环引用问题

#include <memory>void smart_ptr_example() {// unique_ptrstd::unique_ptr<int> uptr = std::make_unique<int>(42);// shared_ptrstd::shared_ptr<int> sptr1 = std::make_shared<int>(100);std::shared_ptr<int> sptr2 = sptr1;  // 引用计数+1// weak_ptrstd::weak_ptr<int> wptr = sptr1;if (auto locked = wptr.lock()) {  // 检查对象是否存在// 使用locked}
} // uptr、sptr1/sptr2自动释放内存

new 和 malloc 的区别

在这里插入图片描述

delete 和 free 的区别

在这里插入图片描述

野指针

定义:指向已释放内存或未初始化内存的指针。
产生原因:

对象被 delete 后未置空指针
指针超出作用域后继续使用
使用未初始化的指针

避免方法:

delete 后立即将指针置为 nullptr
使用智能指针替代原始指针
遵循 “定义即初始化” 原则
避免返回局部对象的指针或引用

野指针和悬浮指针的区别

野指针:指向无效内存(如已释放的内存)。
悬浮指针:对象被销毁但引用 / 指针仍存在(通常由对象生命周期管理不当导致)。

内存对齐

定义:数据在内存中按特定字节边界对齐,以提高访问效率。
为什么需要:

硬件限制:部分架构只能访问对齐的内存地址。
性能优化:对齐的数据访问更快(减少内存访问次数)。
平台兼容性:确保代码在不同架构上行为一致。

struct Example {char c;      // 1字节int i;       // 4字节(通常按4字节对齐)short s;     // 2字节(通常按2字节对齐)
};  // 总大小通常为12字节(非紧凑布局)// 使用#pragma pack调整对齐
#pragma pack(1)
struct PackedExample {char c;      // 1字节int i;       // 4字节short s;     // 2字节
};  // 总大小为7字节(紧凑布局)
#pragma pack()

注意事项:

合理设计结构体成员顺序以减少填充
使用alignas关键字指定对齐方式
序列化时需考虑对齐对数据布局的影响

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

相关文章:

  • 具有品牌的网站建设上海网站排名团队
  • 杭州科技网站作文库网站
  • 建站设计网站微信公众号的子菜单网页怎么制作
  • wordpress插件ssh东莞seo网络营销策划
  • 网站自然排名这么做微信小商店分销功能
  • 做钓鱼网站判刑中国建设人才服务信息网站
  • 网页设计公司平台凤山网站seo
  • 网站设计网络推广商贸平台公司手册制作网站
  • 电子商务网站建设对毕业设计搜索百度网页版
  • 鞋材加工东莞网站建设网站开发策划书怎么写
  • 韩国网站建站昆山制造网站的地方
  • 六安网站建设全包关于网站集约化建设公函
  • 校园门户网站建设实施方案小7手游官网下载
  • 广州做网站(信科网络)陇西做网站的公司
  • 苏州网站优化设计网络网站
  • 【RL】Scaling RL Compute for LLMs
  • 云软件网站建设个人网站后期怎么做企业
  • 网站联盟是什么意思wordpress注册没用
  • 光做网站推广咋样网站架设流程
  • 制作很好的网站做防水怎么注册网站
  • 9377 这种网站怎么做自己做一个app需要多少钱
  • 二级黄冈站跨境电商平台开发
  • 提供秦皇岛网站建设物联网是干什么的用的
  • C4D R21体积对象与域力场的配合详解
  • 整合营销方案广告优化师
  • 北京市建设工程质量监督站网站电商网站开发文献汇总
  • 做自媒体需要哪些网站长春网站建设报价
  • 网站建设的法律问题wordpress 常用函数
  • 多米诺网站建设服务西安网站建设方案
  • 怎样做网站内链方案模板