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

php综合网站建设论文怎么快速建网站教程

php综合网站建设论文,怎么快速建网站教程,西安住房建设局网站,广东省建设安全管理协会网站1. C 中 new 和 delete 的基本用法 在 C 中,new 和 delete 是用来动态分配和释放内存的关键字,它们是面向对象的替代方式,提供了比 C 语言更优雅的内存管理工具。 1.1 new 的使用 new 用于从堆中分配内存,并且自动调用对象的构造…

1. C++ 中 new delete 的基本用法

在 C++ 中,newdelete 是用来动态分配和释放内存的关键字,它们是面向对象的替代方式,提供了比 C 语言更优雅的内存管理工具。

1.1 new 的使用

new 用于从堆中分配内存,并且自动调用对象的构造函数来初始化分配的内存。

int* p = new int;      // 分配一个整数
int* arr = new int[5]; // 分配一个整数数组class MyClass {
public:MyClass() { /* 构造函数 */ }
};MyClass* obj = new MyClass(); // 分配一个 MyClass 对象并调用构造函数

 1.2 delete 的使用

delete 用于释放由 new 分配的内存,并调用对象的析构函数来进行清理工作。

delete p;       // 释放单个整数的内存
delete[] arr;   // 释放数组内存delete obj;     // 释放 MyClass 对象的内存并调用析构函数

delete delete[] 是不同的操作符,delete[] 主要用于释放数组的内存

2. C 语言中的 malloc free 的基本用法

2.1 malloc 的使用malloc - C++ Reference (cplusplus.com)

malloc  函数用于从堆中分配一块连续的内存,返回指向这块内存的指针。

int* p = (int*)malloc(sizeof(int));    // 分配一个整数大小的内存
int* arr = (int*)malloc(5 * sizeof(int)); // 分配一个大小为5的整数数组

2.2 free 的使用free - C++ Reference (cplusplus.com)

free 函数用于释放由 malloc 分配的内存。

free(p);  // 释放单个整数内存
free(arr); // 释放数组内存

需要注意的是,malloc 只分配内存,不会初始化内存中的内容,free 也不会执行析构函数之类的清理工作。

3. new/delete 和 malloc/free 的区别

 3.1 语法与功能上的区别

  • new/delete 是运算符,而 malloc/free 是函数。

  • new 会调用类的构造函数,delete 会调用析构函数

  • mallocfree 仅仅分配和释放内存,不涉及对象初始化和清理。

3.2 类型安全

  • new 不需要显式类型转换,因为它返回正确的类型指针。

  • malloc 返回 void*,因此需要进行显式类型转换。

  • // C++ 使用 new,类型转换是隐式的
    int* p = new int;// C 使用 malloc,需要显式转换
    int* p = (int*)malloc(sizeof(int));
    

3.3⚠️⚠️⚠️内存分配失败的处理方式

  • new 在内存分配失败时会抛出异常,可以捕获进行错误处理。

  • malloc 在分配失败时返回 NULL,需要检查返回值来判断是否成功。

  • try {int* p = new int[10000000000]; // 分配内存失败会抛出异常
    } catch (std::bad_alloc& e) {std::cerr << "Memory allocation failed: " << e.what() << std::endl;
    }int* p = (int*)malloc(10000000000 * sizeof(int));
    if (p == NULL) {printf("Memory allocation failed\n");
    }
    

    4,两种代码对比直接下拉

🌟🌟🌟 整数🌟🌟🌟

使用 new/delete

int* p = new int(42); // 分配一个整数并初始化为42
std::cout << *p << std::endl; // 输出:42
delete p; // 释放内存

使用 malloc/free

int* p = (int*)malloc(sizeof(int));
*p = 42; // 初始化内存
printf("%d\n", *p); // 输出:42
free(p); // 释放内存

🌟🌟🌟数组 🌟🌟🌟

使用 new/delete[]

int* arr = new int[5] {1, 2, 3, 4, 5};
for (int i = 0; i < 5; ++i) {std::cout << arr[i] << " "; // 输出:1 2 3 4 5
}
delete[] arr; // 释放数组内存

 使用 malloc/free

int* arr = (int*)malloc(5 * sizeof(int));
for (int i = 0; i < 5; ++i) {arr[i] = i + 1;printf("%d ", arr[i]); // 输出:1 2 3 4 5
}
free(arr); // 释放数组内存

复盘🐂

  • new/delete 是 C++ 专有的动态内存管理工具,它们不仅分配和释放内存,还会调用构造函数和析构函数,适合用于面向对象编程。

  • malloc/free 是 C 语言中的动态内存管理函数,它们只负责分配和释放内存,不会进行对象的初始化和清理。

  • new 具有类型安全性,而 malloc 需要显式类型转换。

  • 在内存分配失败时new 抛出异常,而 malloc 返回 NULL

共勉 💪

同为未来的it人让我们在共同进步吧。

我很喜欢雷军的一段话:我们就悄悄的干,就算失败了咱也不丢人

http://www.yayakq.cn/news/415176/

相关文章:

  • 在百度上做网站推广效果怎么样个人网站做得优秀的
  • vs2017移动网站开发书店商城网站设计
  • 免费的域名注册网站社交类网站开发需求
  • 个人网站建设作用孝感网站设计
  • 网站外链资源上海商地网站建设公司
  • 六安网站建设电话文章修改网站
  • 做搜狗网站点青岛网站seo
  • 建筑类专业做教育的网站百度一下百度官方网
  • 优化网站的公司哪家好手机网站生成app客户端
  • 河北省建设执业注册中心网站建筑工程网络图片
  • 广州网站建设推荐q479185700霸屏德州app开发公司
  • 合肥做网站首选 晨飞网络官网网站搭建需要多少钱
  • 同域名网站改版需要把之前网站里的文章都拷贝过来吗?备案成功的网站
  • 扁平化购物网站设计wordpress代码实现头像
  • 网站建设与经营成都百度公司在哪里
  • 如何创建旅游网站西宁百度seo
  • 网站内容段落之间有空格对seo有影响吗网站备案信息核验单
  • 十八个免费的舆情网站主题 sku 推广
  • p2p免费网站建设wordpress文章设置时间免费下载
  • 黄冈网站建设推荐使用他人api做网站
  • 聊城手机网站建设服务网站seo诊断书
  • wordpress建站安全吗互联网推广方案
  • 网站建设云服务器与虚拟主机长春做网站长春网站设计
  • 如何做一个属于自己的网站能自己做生物实验的网站
  • 微网站绑定域名如何做网站左侧导航条
  • 可以做简单小活动的网站宣传片拍摄公司排名
  • 外贸电商网站开发价格c2c交易平台官方网站
  • wordpress画册seo网站建设步骤
  • 有没有接单做加工的网站网站域名地址
  • 企业门户网站费用物流网络建设的关键是物流节点和