C++数据结构和算法(01)
发布时间
阅读量:
阅读量
首先,从一道基础题目入手:
提供了一个接口的定义,请尝试完成:Memmove 的具体实现
void *memmove(void *dest,const void *src,size_t n)
{
}
该函数的目的是将内存中从src指向的区域内容复制到dest所指向的区域,复制的长度为固定值n,具体实现方式如下所示
需要特别注意的是,实际开发过程中可能存在的一些常见错误类型(此时或许应该重新回顾一下C++的相关知识/(ㄒoㄒ)/~~)
- 对内存区域重叠情况缺乏合理处理
- 临时存储变量使用不当或未能及时释放
- 缺乏对越界访问内存情况的检测机制
- 对指针操作相关知识掌握不牢固
接下来展示一段存在缺陷的代码示例:
void *memmove(void *dest,const void *src,size_t n)
{
char *p1=dest;
char *p2=src;
while(*p2!=\0)
*p1++=*p2++;
return p1;
全部评论 (0)
还没有任何评论哟~
