malloc函数:malloc的全称是memory allocation,中文叫动态内存分配。作用是向系统申请分配指定size个字节的内存空间,函数原型为: void*表示未确定类型的指针,C,C++规定,void* 类型可以通过类型转换强制转换为任何其它类型的指针。 free函数:void fre ...
分类:
其他好文 时间:
2017-05-28 12:58:34
阅读次数:
235
动态内存管理 动态对象(堆对象)是程序在执行过程中在动态内存中用new运算符创建的对象。 因为是用户自己用new运算符创建的。因此也要求用户自己用delete运算符释放,即用户必须自己管理动态内存。 计算机内存数据区常有三种分区。即静态数据区、堆区、桟区。 1.程序在编译时就为静态变量和静态对象分配 ...
分类:
其他好文 时间:
2017-05-23 19:46:29
阅读次数:
215
输出结果: calling constructor calling destructor ...
分类:
其他好文 时间:
2017-05-20 21:48:18
阅读次数:
130
引言:数组的元素存储于内存中连续的位置上。当一个数组被声明时。它所须要的内存在编译时就被分配。可是,我们能够使用动态内存分配在执行时为它分配内存。 一块内存的生命周期能够分为四个阶段:分配、初始化、使用、释放。 内存的分配一般使用C函数库里的malloc函数(原型:void *malloc(size ...
分类:
编程语言 时间:
2017-05-19 23:53:04
阅读次数:
272
动态内存: 运算符:new,delete 智能指针: shared_ptr类 智能指针也是模板,创建指针时,提供指针指向的类型; make_shared 函数 引用计数:一旦一个shared_ptr的计数器变为0,它就会自动释放自己所管理的对象; shared_ptr自动销毁所管理的对象,通过 析构 ...
分类:
编程语言 时间:
2017-05-13 22:16:20
阅读次数:
199
http://blog.csdn.net/miss_acha/article/details/7279915#comments 1.综述 1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 2,对于非内部数据类型的对象而 ...
分类:
其他好文 时间:
2017-05-09 11:07:40
阅读次数:
137
问题分析:这种情况是指:访问了你不应该/没有权限访问的内存地址空间,比如访问数组时越界;对动态内存访问时超出了申请的内存大小范围。下面的程序就是一个典型的数组越界问题。pt是一个局部数组变量,其大小为4,p初始指向pt数组的起始地址,但在对p循环叠加后,p超出了pt数..
分类:
其他好文 时间:
2017-05-09 09:35:22
阅读次数:
154
动态内存分配可以在程序运行的时候随时分配存储位置动态分配的存储位置一定来自于堆这个段落堆中的所有存储位置需要使用语句分配和回收c语言中提供几个标准函数用来分配和回收堆中的存储位置为了使用这些函数需要包含stdlib.h文件malloc标准函数用来动态分配多个连续的字节存储位置malloc把分配后第一 ...
分类:
其他好文 时间:
2017-05-08 00:27:41
阅读次数:
221
动态内存和智能指针 动态内存: 1.针对堆里面存放的对象 2.使用new delete运算符 3.智能指针:shared_ptr(多个指针指向同一个对象); unique_ptr(一个指针指向一个对象); weak_ptr(弱引用,管理shared_ptr) 4.标准库函数:make_shared< ...
分类:
编程语言 时间:
2017-05-07 10:23:34
阅读次数:
136
今天我们开始学编程啦~ 点击左上角的这个进入编程界面 这是新建新的.m文件,也就是matlab命令文件, 一般命令文件不带输入和输出的参数,只是一些命令的组合,带有输入输出参数的文件是函数文件~ 下面我们来编写一个hello world 程序~ 输入disp('Hello World!'); 然后点... ...
分类:
其他好文 时间:
2017-04-27 00:29:37
阅读次数:
352