c++语法随身记

时间:2021-12-14 23:53:17

1、memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针

void *memset(void *s, int ch, size_t n);
函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
 
例子:memset(pSeg, 0, videoWidth * videoHeight);   //将pseg的前videoWidth * videoHeight个元素变成0,在用于清除内存空间方面很重要的呀。
pBK  = new unsigned char[videoWidth * videoHeight * SRC_CHANNEL];
memset(pBK, 0, videoWidth * videoHeight * SRC_CHANNEL);    //一种快速清零的方法
 
2、回收用 new[] 分配的一组对象的内存空间的时候用 delete[]
3、c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
void *memcpy(void *dest, const void *src, size_t n);
例子:memcpy((unsigned char*)(ptemin->imageData),pIn,sizeof(unsigned char)*w*h*3);
 
对于其和strcpy之间的区别的话,strcpy用于字符串的拷贝,而memcpy则是用于任意数据的拷贝,并且不需要考虑内存的溢出。