;数组的传参默认是传的数组元素的首地址,所以在函数内部是无法得到数组的大小的需要传一个size进来 int a = {1,2,3}; sum(a,sizeof(a)/sizeof(a[0])); //此处传的是数组的首地址 ;结构体当作参数的时候要传地址,否则编译器传的是副本会产生很大的内存拷贝 ...
分类:
编程语言 时间:
2016-06-05 18:45:24
阅读次数:
261
String能自动释放,在进行内存拷贝时需要进行手动释放。可以直接调用Finalize手工释放 如:TGraphicHideTab 记录中声明的Caption:string 直接内存处理的时候String不会自动处理计数,需要手工处理String。 http://www.cnblogs.com/gl ...
分类:
其他好文 时间:
2016-06-02 06:17:01
阅读次数:
196
今天在这里把零散的一些常用的字符串操作函数和内存拷贝函数进行一下归总实现。一.字符串操作函数字符串操作函数有很多,这里我列举一些常用的函数,以及自实现的代码:字符串拷贝函数:函数原型:char*my_strcpy(char*dst,constchar*src)strcpy():char*my_strcpy(char*dst,co..
分类:
编程语言 时间:
2016-05-02 17:12:30
阅读次数:
471
之前写拷贝构造函数的时候,以为参数为引用,不为值传递,仅仅是为了减少一次内存拷贝。然而今天看到一篇文章发现自己对拷贝构造的参数理解有误。 参数为引用,不为值传递是为了防止拷贝构造函数的无限递归,最终导致栈溢出。 下面来看一个例子:class test{public: test() { cout te... ...
分类:
编程语言 时间:
2016-04-21 16:34:15
阅读次数:
251
存储系统的核心是软件,在磁盘存储时代,存储系统软件设计的好坏似乎对性能的影响并不是很大,很多存储软件的设计并不会去考虑计算机的体系架构,也不用去关心操作系统调度、内存拷贝等因素带来的性能影响。对于磁盘存储,事情的确是这样的,原因在于磁盘的性能远远低于CPU处理..
分类:
其他好文 时间:
2016-04-17 00:57:46
阅读次数:
217
本次要讲的是右值引用相关的几个函数:std::move, std::forward和成员的emplace_back,通过这些函数我们可以避免不必要的拷贝,提高程序性能。move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷贝。如图所示是深拷贝和move的区别。 ...
分类:
编程语言 时间:
2016-04-11 13:51:09
阅读次数:
311
在对文件进行读写操作时 需要先打开文件 内核为每一个进程维护一个打开文件的列表 该表被称为 文件表 file table 该表由一些叫 文件描述符(fds) 的非负整数进行索引 列表中的每项均包含一个打开文件的信息,其中包含一个指向文件备份inode内存拷贝的指针和元数据 用户空间和内核空间把每个文 ...
分类:
其他好文 时间:
2016-04-03 20:07:04
阅读次数:
145
一.原型模式介绍 因为java中new一个新对象比clone一个对象需要花费等多的资源,所以一般需要 在短时间内创建大量对象并且new对象的过程需要耗费比较多的资源使用原型模式。 想要clone一个类需要这个类实现Cloneable接口,重载clone方法,这个接口在底层 通过内存拷贝实现clone
分类:
编程语言 时间:
2016-03-18 21:51:17
阅读次数:
311
memcpy是C和C++ 中的内存拷贝函数,在C中所需的头文件是#include<string.h>, 在C++中需要包含的头文件是#include其函数原型如下: void *memcpy(void *dest, const void *src, size_t n); 其功能是从源src所指的内存
分类:
其他好文 时间:
2016-03-16 17:12:00
阅读次数:
191
外界如果想要让person对象执行copy方法,必须接收NSCopying协议,实现协议里的方法,来定义copy的细节 一个类可以接收多个协议,协议与协议之间用逗号隔开。所有的协议协议写在父类后面的尖括号内部 @interface Person : NSObject<SayHello, NSCopy
分类:
其他好文 时间:
2016-02-21 15:33:21
阅读次数:
145