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

什么语言网站比较安全三亚推广公司

什么语言网站比较安全,三亚推广公司,建筑模板厂家哪里多,wordpress修改文章页面目录 1.new运算符的基本使用 2.new运算符的注意事项 3.new运算符开辟数组 4.静态成员变量 5.静态成员函数 6.单例模式 7.主席类案例 8.打印机类案例 1.new运算符的基本使用 说明: 我们知道在C语言中,数组一旦声明,就确定了内存的大小…

目录

1.new运算符的基本使用

2.new运算符的注意事项

3.new运算符开辟数组

4.静态成员变量

5.静态成员函数

6.单例模式

7.主席类案例

8.打印机类案例


1.new运算符的基本使用

说明: 我们知道在C语言中,数组一旦声明,就确定了内存的大小,如果想动态进行扩展,就需要自己实现动态数组,将数组创建在堆区。 C中提供了标准函数 malloc、calloc和realloc可以将数据开辟在堆区,free可以释放堆区数据 利用C的方式如果想在C++中实现动态数组的创建我们需要做以下几件事:  计算好数组的大小后,再利用malloc进行申请  malloc返回void*,C++不允许直接给void*赋值到其他类型的指针,需要强转  malloc代码写好后,需要检测内存是否申请成功,进行判断  一些初始化和释放的函数需要手动进行调用,如果忘记则出错 结论: C语言中的动态分配内存较为复杂,因此我们推荐在C++中使用new和delete运算符  

说明: delete用于释放new出来的内存,先调用析构函数,然后释放内存。 正如new表达式返回一个指向对象的指针一样,delete需要一个对象的地址。 delete只适用于由new创建的对象。 如果使用一个由malloc或者calloc或者realloc创建的对象使用delete,这个行为是未定义的。因为大多数new和delete的实现机制都使用了malloc和free,所以很可能没有调用析构函数就释放了内存。 如果正在删除的对象的指针是NULL,将不发生任何事,因此建议在删除指针后,立即把指针赋值为NULL,以免对它删除两次,对一些对象释放两次可能会产生错误

2.new运算符的注意事项

区别: 1、malloc是C创建堆区数据的库函数,new是C++创建堆区数据的运算符 2、malloc对应释放的库函数是free,new对应释放的运算符是delete ,不可以混用 3、malloc返回值是void*, new返回创建对象的指针类型 4、malloc不会调用构造,free不会调用析构,new自动调用构造函数,delete自动调用析构函数 5、malloc需要显式地指出所需内存的大小,new申请内存分配时无需指定内存块的大小,编译器会根据类型自行计算。

3.new运算符开辟数组

说明: 利用new在堆区开辟数组很简单,在类型后面加上中括号,并在中括号中写好数组长度即可 举例: int * pInt = new int[10];           //在堆区开辟10个int类型大小的数组 double* pDouble = new double[10];       //在堆区开辟10个double类型大小的数组 char * pChar = new char[10];           //在堆区开辟10个char类型大小的数组 Person * pArray = new Person[10];      //在堆区开辟10个Person类型大小的数组 注:创建自定义数据类型时,该类型必须有默认构造函数,否则创建失败

4.静态成员变量

说明: 在一个类中,若将一个成员变量前声明为static,这种成员称为静态成员变量。 特点: 与普通成员变量不同,静态成员只有一份,它不属于某个对象,而属于某个类,被所有对象共享 静态成员变量在编译阶段就分配空间,也就是对象还没有创建时,就已经分配空间 静态成员变量必须在类内声明,在类外初始化 静态成员变量可以通过对象或者类名两种方式进行访问 静态成员变量也有访问权限

5.静态成员函数

说明: 在一个类中,若将一个成员函数前声明为static,这种成员称为静态成员函数。 特点: 静态成员函数也只有一份,被所有对象共享 静态成员函数只能访问静态成员变量,而不能访问非静态成员变量 普通成员函数即可以访问静态成员变量,也可以访问非静态成员变量 静态成员函数可以通过对象或者类名两种方式进行访问 静态成员函数也有访问权限

6.单例模式

说明: 单例模式是一种常用的软件设计模式。 在它的核心结构中,只包含一个被称为单例的特殊类。 通过单例模式可以保证系统中一个类只有一个对象,而且该对象易于外界访问,且共用此对象 如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案

7.主席类案例

实现步骤如下: 1、默认构造函数私有化 2、拷贝构造函数私有化 3、私有作用域下,类内声明静态成员指针,类外将指针初始化指向new出的主席对象 4、公共作用域下,提供获取主席指针的唯一接口 5、外界测试接口即可

8.打印机类案例

实现步骤如下: 1、默认构造函数私有化 2、拷贝构造函数私有化 3、私有作用域下,类内声明静态成员指针,类外将指针初始化指向new出的打印机对象 4、公共作用域下,提供获取打印机指针的唯一接口 5、外界测试接口即可 思考: 单例模式对象,是否需要管理释放? 解答: 单例模式由于被共享,释放时机不确定,通常无需管理释放,当程序执行结束会由系统管理释放 而且单例模式对象本身只有1个,不会占用大量内存空间。

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

相关文章:

  • python做笔记的网站宿迁房产网安居客
  • 王建设个人网站百度网站免费优化软件下载
  • 关于电商商品卡片布局的代码详细解析
  • 如网站站长如何对付黑客seo的基本步骤是什么
  • 【完整源码+数据集】高空作业数据集,yolo高空作业检测数据集 2076 张,人员高空作业数据集,目标检测高空作业识别系统实战教程
  • 东营网站建设服务商网络技术工程师
  • 本溪建设银行网站广东阳江发布
  • 嵌入式开发:高效偷懒的艺术
  • 有哪些比较好的企业网站建设杭州北京网站建设公司哪家好
  • 面向边缘智能的稳健医疗AI:模型性能衰减监控与自适应微调机制深度解析(下)
  • 徐州制作手机网站网站怎么添加管理员
  • 长沙建设网站制作网站维护基础知识
  • 网页开发和网站开发婚纱摄影网站定制
  • 用软件做的网站权限管理福州做网站设计
  • 我有虚拟服务器怎么快速做网站广州番禺地图全图
  • [Java EE] 多线程 -- 初阶(1)
  • 潮流资讯类网站建设策划做外国网用哪些网站有哪些
  • ftp文件导入wordpress360手机优化大师下载
  • 网站建设费属于业务宣传费吗jsp做网站框架
  • 东莞网站开发多少钱东莞+网站+建设+汽车
  • AWS Bedrock Agent 结构化数据查询系统
  • 宜昌网站建设平台购物网站技术实施方案
  • 手机建站东莞推广服务
  • 奥比中光深度相机实战:三维物体点云重建、轮廓提取与人脸鉴伪
  • 著名的外贸网站wordpress pc 手机
  • 中专生升学与职业发展综合指南
  • 青海培训网站建设公司昆明市城市建设档案馆网站
  • 移动网站建设制作如何做网站的推广
  • 建设网站公司电话号码wordpress物流模板
  • MySQL 页结构与数据存储原理全解析》