【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】
12.1 动态内存与智能指针
1.在C++中,动态内存的管理是通过一对运算符来完成:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,我们可以选择对对象进行初始化;delete,接受一个动态对象的指针,销毁该对象,并释放与之关联的内存。
2...
分类:
编程语言 时间:
2015-09-30 01:02:01
阅读次数:
234
概括地说1、malloc与free是C++/C的标准库函数,new/delete是C++的运算符,它们都可用于申请动态内存和释放内存。2、对于非内部数据类型的对象而言,只用malloc/free无法满足动态对象的要求。对象在创建的同时,要自动执行构造函数,对象在消亡之前要自动执行析构函数。而由于ma...
分类:
编程语言 时间:
2015-09-13 12:00:30
阅读次数:
314
数组有限并且连续;实现动态数组:可以变更数组长度,可以调整数组的大小://动态对象数组
publicclassDynamicArray{
finalstaticintdefaultSize=10;
Object[]arr;//对象数组
intmaxSize;//数组的最大长度
//默认的构造方法
publicDynamicArray()
{
init(defaultSize..
分类:
其他好文 时间:
2015-08-26 20:24:15
阅读次数:
161
c++中静态内存分配与动态内存分配:1.静态对象是有名字的变量, 我们直接对其进行操作 ,而动态对象是没有名字的变量我们通过指针间接地对它进行操作。(静态内存分配是因为在源码编译的时候,编译器就为变量分配了内存空间,而不是程序执行的时候才分配内存,而动态内存分配是在程序执行的时候才分配内存)。2.静...
分类:
编程语言 时间:
2015-08-26 13:48:11
阅读次数:
147
我想用过MVC的人都知道一件事,viewbag的值是存储在viewdata里面的。先看以下组图:看了上图是不是感觉很神奇,Dictionary也可以这样使用~实现主要继承了DynamicObject接下来直接贴代码:/// /// 动态对象 /// public class V...
分类:
编程语言 时间:
2015-08-25 13:14:08
阅读次数:
160
我想用过MVC的人都知道一件事,viewbag的值是存储在viewdata里面的。先看以下组图:看了上图是不是感觉很神奇,Dictionary也可以这样使用~实现主要继承了DynamicObject接下来直接贴代码:/// /// 动态对象 /// public class V...
分类:
其他好文 时间:
2015-08-25 11:55:26
阅读次数:
199
之前做win32应用测试时,用过很多大家耳熟成详的工具,接触pywinauto之前,对它的了解也不多,然而,随着对它了解的增多,发现它借助了python动态对象的能力,使得代码即便于书定,也便于阅读,而且功能非常强大,最重要的一点,就是它以一种比较优雅的方式对win32窗体、控件进行各种操作,不再使...
智能指针概述:
智能指针用来管理动态对象。其行为类似于常规指针,重要的区别是:它负责自动释放所指向的对象。
C++ 11标准库提供两种智能指针:shared_ptr、unique_ptr
区别是:shared_ptr允许多个指针指向同一个对象;unique_ptr则独占所指向的对象。
另外,还有一种weak_ptr的伴随类,它是一种弱引用,指向shared_ptr所管理的对象。
...
分类:
编程语言 时间:
2015-08-10 12:07:49
阅读次数:
232
一.相关知识点
重载new和delete
当创建一个new表达式时有两件事发生。首先,使用运算符new分配内存,然后调用构造函数。在delete表达式里,调用析构函数,然后使用运算符delete释放内存。我们永远无法控制构造函数和析构函数的调用(否则我们可能意外地搅乱它们),但可以改变内存分配函数运算符new和delete。
被new和delete使用的内存分配系统是为通用目的...
分类:
编程语言 时间:
2015-08-10 00:33:29
阅读次数:
141
1、类集就是一个动态对象数组,还不需要用户自己编写链表,简单多多。2、集合核心操作: (1) 单值保存:Collection (包含两个重要的方法:public void add() 、public Iterator iterator() ) : 允许重复:List子接口(public E ...
分类:
编程语言 时间:
2015-07-31 19:53:00
阅读次数:
133