浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char*str=(char*)malloc(100);char*str2=str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针。...
分类:
其他好文 时间:
2014-11-29 20:10:57
阅读次数:
188
# include
# include
# define True 1
# define False 0
# define Error -1
# define OK 1
# define MAX_VERTEX_NUM 20
int visited[MAX_VERTEX_NUM]; //定义标志数组
typedef char Verte...
分类:
其他好文 时间:
2014-11-29 16:04:43
阅读次数:
158
简单的字典树应用,在建树的时候判断就行了。需要注意的语法:在使用malloc和free来处理动态内存的时候,仅仅是释放了这个对象所占的内存,而不会调用这个对象的析构函数;使用new和delete就可以既释放对象的内存的同时,调用这个对象的析构函数。所以建立trie时用new更方便一些。注意要每组数据...
分类:
其他好文 时间:
2014-11-28 06:15:59
阅读次数:
171
低层次的语言,如C,具有低级别的内存管理命令,如:malloc()和free(),需要开发者手工释放内存。然而像javascript这样的高级语言情况则不同,对象(objects, strings )等创建的时候分配内存,当他们不在使用的时候内存会被自动回收,这个自动回收的过程被称为垃圾回收。因为....
分类:
编程语言 时间:
2014-11-27 20:14:28
阅读次数:
169
“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间...
分类:
编程语言 时间:
2014-11-26 16:13:02
阅读次数:
281
错误案例:voidGetmemery(char*p){p=(char*)malloc(100);}voidmain(){char*str=NULL;Getmemery(str);strcpy(str,"hello world");printf("%s",str);free(str);}错误原因:ch...
分类:
编程语言 时间:
2014-11-26 13:38:14
阅读次数:
203
//https://github.com/SVGKit/SVGKit
//SVGKit?->?SVGLength.m
????????size_t?size;
sysctlbyname("hw.machine",?NULL,?&size,?NULL,?0);
char?*machine?=?malloc(size);
sysctlbyname("...
分类:
移动开发 时间:
2014-11-25 14:39:56
阅读次数:
186
关于 C++ 的 new、delete 与 C 的 malloc、free 的区别
示例...
分类:
编程语言 时间:
2014-11-24 17:14:15
阅读次数:
126
变量的类型按作用范围可以把变量分为局部变量和全局变量参数的类型实参和形参变量的内存分配——静态和动态静态变量的声明关键字:static动态变量的声明,内存的动态分配可以使用函数malloc(字节数)栈机制——运行时内存布局(Runtime Memory Layout)一个程序要运行,就要先将可执行文...
分类:
其他好文 时间:
2014-11-23 23:11:26
阅读次数:
326
/* Set up the stack */
stack_setup:
ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */
sub r0, r0, #CFG_MALLOC_LEN /* malloc area ...
分类:
其他好文 时间:
2014-11-23 19:00:15
阅读次数:
329