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

湖北省勘察设计协会网站百度排名点击

湖北省勘察设计协会网站,百度排名点击,网页制作基础教程复兴,王福滨哈尔滨建设📘 C 中 new 关键字详解笔记 🔹 什么是 new? new 是 C 中用于动态内存分配的关键字,它在堆内存中为对象或变量分配空间,并返回对应类型的指针。 与 C 语言中的 malloc 相比,new 更安全、更方便&#xff…

📘 C++ 中 new 关键字详解笔记

🔹 什么是 new

new 是 C++ 中用于动态内存分配的关键字,它在堆内存中为对象或变量分配空间,并返回对应类型的指针。

与 C 语言中的 malloc 相比,new 更安全、更方便,并支持调用构造函数。


✅ 基本语法

int* p = new int;         // 分配一个 int,未初始化
int* q = new int(42);     // 分配一个 int,并初始化为 42
double* arr = new double[5]; // 分配一个 double 类型的数组,长度为 5

📌 说明:初始化为 42 ≠ 分配 42 字节

int* q = new int(42);

这句代码的含义是:

  • 在堆上分配一个 int 类型大小的内存(通常为 4 字节)
  • 并将该 int 类型的值初始化为 42
  • 返回这块内存的地址,并由指针 q 接收

它并不是“分配了 42 字节的空间”,只是“将分配的 int 类型变量初始化为值 42”。


🧱 使用示例

🌟 分配单个变量

int* a = new int;     // 分配内存但未初始化
*a = 10;              // 使用分配的空间

🌟 分配并初始化

int* b = new int(100);   // 分配并初始化为 100

🌟 分配数组

int* arr = new int[5];
for (int i = 0; i < 5; i++) {arr[i] = i * i;
}

🌟 类对象的动态创建

class Person {
public:Person() { std::cout << "Person 构造函数\n"; }~Person() { std::cout << "Person 析构函数\n"; }
};Person* p = new Person(); // 调用构造函数
// 使用对象...
delete p;                 // 调用析构函数,释放内存

🧼 配套释放:deletedelete[]

delete a;       // 释放单个变量
delete b;
delete[] arr;   // 释放数组,必须用 delete[]

❗ 错误用法:数组用 delete 会导致内存泄漏或未定义行为。


🧠 new vs malloc 对比

特性newmalloc
所属语言C++C / C++
类型安全✅ 是❌ 否(需强转)
返回类型指定类型指针void*
是否初始化✅ 可以初始化❌ 不初始化
调用构造函数✅ 是❌ 否
配套释放方法delete / delete[]free()

示例对比:

// C++ 写法
int* a = new int(10);  // 初始化并安全分配// C 写法
int* b = (int*)malloc(sizeof(int));
*b = 10;

🔍 小结

  • new 关键字用于堆上分配内存,是 C++ 的推荐做法。
  • new 自动计算类型大小、调用构造函数,并返回强类型指针。
  • 使用 new 后必须搭配 delete,否则会产生内存泄漏。
  • 对于数组使用 new[],释放时对应使用 delete[]
  • malloc 相比,new 更安全、更现代、更适合 C++ 风格。

💡 如果你使用的是现代 C++(C++11 及以上),推荐使用智能指针如 std::unique_ptrstd::shared_ptr 替代 new


📎 拓展阅读

  • 智能指针与 new 的关系
  • placement new 的特殊用法
  • 构造函数与析构函数执行顺序

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

相关文章:

  • 加盟型网站建设什么是网络营销?网络营销与传统营销相比有哪些特点?
  • 数码科技网站海尔集团电子网站建设
  • 咚咚抢网站怎么做的深圳专业网站建设制作
  • 宁波网站制作费用人设生成器网站
  • 网站用php做的吗平面设计app推荐
  • 蓝色网站设计松江 企业网站建设
  • 黑山网站建设中天银都建设集团网站
  • 移动端网站建设的软件有哪些做影集的网站或软件
  • 技术支持 天空网络-临汾做网站网站营销建设策划案
  • 做毕业网站的流程做淘宝图的素材搜索网站
  • 小门户网站模板房产官网查询系统
  • 标识标牌网站怎么做做网站备案必须是个人还是公司
  • 毕设做网站太简单珠海网站上排名
  • 骨科医院网站优化服务商网页设计毕业设计教程
  • ae免费模板下载网站公司名字查重系统
  • 如何建立自己的网站步骤创网站 设计方案
  • 模板建站的网站wordpress赞助功能
  • 网站建设的实训报告怎么写西安知名网站建设
  • 给公司做网站费用旅游网站建设风险分析
  • 如何建设一个电影网站网页logo设计图片
  • 深圳正规网站建设服务苏州 手机网站
  • 怎么和网站合作推广wordpress微信图文采集
  • 钦州网站建设哪家便宜安徽茶叶商城网站建设
  • 陕西网站建设策划内容做网站用的hu软件
  • 怀柔高端网站建设android写wordpress
  • 汕头专业网站建设流程微信网站小游戏
  • 做招聘网站用哪个cms网站编程用什么语言好
  • 装修公司合作平台的网站王也道长头像无水印
  • 杭州网站建设商城价格装修公司加盟品牌排行榜
  • 校园网站建设调查问卷如果建设淘宝导购网站