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

外国人做的甲骨文网站网站seo课程

外国人做的甲骨文网站,网站seo课程,做网站怎样建立服务器,青海制作网站1 new运算符的拓展 1.1 自由存储区与堆的概念 在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区。 自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。 new操作符从自由存储区(free st…

1 new运算符的拓展

1.1 自由存储区与堆的概念

在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区。

自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区
new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。

那么自由存储区是否能等于堆(问题等价于new是否能在堆上动态分配内存),这取决于operator new 的实现细节。自由存储区不仅可以是堆,还可以是静态存储区,这都看operator new在哪里为对象分配内存。

1.2 new定位运算符概念和简单使用方法

new定位运算符的概念:
通常,new负责在堆(heap)中找到一个能够满足要求的内存块。new运算符还有一种变体,被称为定位(placement)new运算符,他能让你能够指定要使用的位置。程序员可以使用这种特性来设置其内存管理规程、处理需要通过特定地址进行访问的硬件或在特定位置创建对象。

new定位运算符的使用场景:

  • 内存池管理:在内存池中预先分配一大块内存,然后在其中构造对象。
  • 自定义内存分配策略:在特定的内存区域(如共享内存、内存映射文件等)中构造对象。
  • 性能优化:通过减少内存分配和释放的开销来优化性能。

new定位运算符语法:

ptr = (Type*)new (ptr) TypeName;
其中 ptr 是一个指向已分配内存的指针,TypeName 是要构造的对象类型。

下面给出实例代码,定位new作用于简单类型的使用方法


#include <iostream>using namespace std;void assign_value(int *p, int num, int test)
{for (int i = 0; i < num; i++){p[i] = i + test;}
}void print_value(int *p, int num)
{for (int i = 0; i < num; i++){std::cout << p[i] << " ";}std::cout << std::endl;}int main()
{char buffer[40];				//缓冲区cout << "buffer[40] address=" << (void*)buffer << endl;int* p1 = new int[10];			//常规new运算符std::cout << "p1 address" << p1 << std::endl;assign_value(p1, 10, 0);print_value(p1, 10);int* p2;p2 = new(buffer) int[10];		//定位new运算符cout << "p2 address=" << p2 << endl;assign_value(p2, 10, 50);print_value(p2, 10);int* p3;p3 = new(buffer) int[10];		//定位new运算符cout << "p3 address=" << p3 << endl;assign_value(p3, 10, 100);print_value(p3, 10);print_value(p2, 10);int* p4;p4 = new(buffer + 2 * sizeof(int))int;cout << "p4 address=" << p4 << endl;//偏移2个int字节的新地址print_value(p4, 8);delete p1;delete p2;delete p3;delete p4;return 0;
}

执行结果如下:
在这里插入图片描述

1.3 定位new作用于复杂数据类型

http://www.khdw.cn/news/5125.html

相关文章:

  • 长沙营销型网站设计百度经验
  • 深圳顶级做网站公司seo人工智能
  • 静态网站如何做优化网络营销总监岗位职责
  • 镇江门户网外包优化网站
  • 重庆seo整站优化百度官方客服平台
  • 常用企业客户资料网站seo独立站优化
  • 网站建设制作介绍河南百度一下你就知道原版
  • 天津做网站多少钱百度怎么打广告
  • 东营网站建设价格五种常用的网站推广方法
  • 建设企业网站公爱站网关键词挖掘查询
  • 北京互联网网站建设班级优化大师app下载学生版
  • 优质做网站哪家正规今日短新闻20条
  • 公司网站备案怎么办理网络营销方法有哪些
  • 在免费空间上传网站为什么访问不了网站搭建策略与方法
  • 淘宝上做的网站靠谱吗网络广告公司
  • android简单开发app实例代码seo外链自动群发工具
  • 手机怎么同步连接wordpressseo教学平台
  • 上海网页制作与网站设计北京seo关键词排名优化
  • 网站建设 好的公司小程序定制开发公司
  • 寿光专业做网站的公司有哪些软文广告案例
  • 企业网盘免费版长沙正规seo优化价格
  • 做下载网站赚钱吗建站seo是什么
  • 番禺外贸型网站建设seo技术分享博客
  • 做网站必须有框架是吗全网推广公司
  • 文化网站前置审批手机百度下载免费安装
  • 关键词网站排名软件长沙seo结算
  • 商城 网站 功能优化大师下载安装app
  • dw 做网站图片之间的链接百度推广怎么提高关键词排名
  • 多语言网站如何开发网站管理和维护的主要工作有哪些
  • 网站优化建设绵阳重庆seo教程搜索引擎优化