STL string类的使用
程序员文章站
2022-03-23 14:58:39
...
1.慎用memcpy
struct A
{
string s;
int i;
};
void fun(struct A* pSrc)
{
struct A pDest;
memcpy(&pDest, pSrc, sizeof(struct A));
}
问题在于,memcpy完全是按照内存基于第三个参数指定的字节数来拷贝,对于简单数据类型(非指针)是完全适用的。但是上面结构体中的string,实质是浅拷贝。这样做,存在两次析构string的问题。
解决方案:单个结构体成员逐一拷贝;写拷贝构造函数。
同样,memset也不能使用。
上一篇: STL:string类使用解析
下一篇: STL string 类总结
推荐阅读
-
如何使用css3实现一个类在线直播的队列动画的示例代码
-
用C实现PHP扩展 Image_Tool 图片常用处理工具类的使用
-
python类和函数中使用静态变量的方法
-
编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
-
在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一)
-
编写一个函数reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数
-
一个PHP的String类代码_php技巧
-
JQuery 中几个类选择器的简单使用介绍_jquery
-
使用 acl_cpp 的 HttpServlet 类及 google 的 ctemplate 库编写 WEB 应用
-
PHP中使用Memache作为进程锁的操作类分享,phpmemache_PHP教程