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

免费学服装设计的网站/网站收录登录入口

免费学服装设计的网站,网站收录登录入口,六安同城网,现代著名设计师及作品目录 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.whsansanxincailiao.cn/news/32059362.html

相关文章:

  • 在网站建设中要注意的问题/前端培训哪个机构靠谱
  • 如何开始做网站/百度竞价排名魏则西事件分析
  • 网站平台项目交接需要什么/seo推广的方法
  • 甘肃省水利厅引洮工程建设管理局网站/网页开发用什么软件
  • 提供邢台做wap网站/头条关键词排名查询
  • 利用codeing做网站/网络推广营销软件
  • 上海注册公司收费/优化网络培训
  • 温州企业做网站/推广普通话心得体会
  • 学习做网站的孛校/网站seo公司
  • 做go分析的网站/谷歌seo网站建设
  • java 企业网站建设/长春百度推广排名优化
  • 北京响应式网站/武汉网站制作推广
  • 有人利用婚恋网站做微商/软文代写平台
  • 广州购网站建设/尚硅谷培训机构官网
  • wordpress搭建微信小程序/郑州企业网站优化排名
  • 网站优化怎么样/手机怎么搭建属于自己的网站
  • wordpress4.7.4伪静态/外贸建站优化
  • 网站下载链接怎么做/品牌广告和效果广告的区别
  • 做网站都需要什么/青岛seo外包公司
  • 厦门 微网站建设公司哪家好/平板电视seo优化关键词
  • 青海网站建设怎么建设/怎么做seo信息优化
  • 珠海美容网站建设/东莞seo
  • 深圳设计网站培训学校/推广普通话宣传周活动方案
  • 常州做网站一般多少钱/优化关键词技巧
  • 站长工具国色天香/网站被百度收录
  • wordpress网址/优化大师在哪里
  • 广州化妆品网站建设公司排名/怎样做网络推广效果好
  • php做用户注册网站/深圳龙华区大浪社区
  • 杭州网站开发公司排名/app推广多少钱一单
  • 小公司网站如何做/网页模板建站系统