股票数据格式 外汇交易系统 MT4编程 电子海图开发(S52 S57) AIS 电子海图和gis开发qq群:40968136

http://alantop.5166.info 电子海图和gis开发qq群:40968136

股票数据格式 外汇交易系统 MT4编程 电子海图开发(S52 S57) AIS
随笔 - 277, 文章 - 0, 评论 - 514, 引用 - 0
数据加载中……

string和memset

有些东西可能很简单,我们大家不留意。

string大家都在用,string可以用memset吗?

我们先来看看代码
void fun()
{
    
string temp;
    
char buff[] = "123456789";
    
while(true)
    
{
        
        memset(
&temp, '\0'sizeof(string));
        temp 
= buff;
    }

}

这段代码有问题吗?
如果你觉得没有问题,运行下?
如果有问题,请讲明原因?

题目很简单,却很值得思考。

代码中的while循环是为了扩大执行后的效果,引起大家的注意。

posted on 2008-09-23 22:10 AlanTop 阅读(1254) 评论(7)  编辑 收藏 引用 所属分类: C++

评论

# re: string和memset  回复  更多评论   

任何类都不能用memset, 一旦暴力,就等于你强奸了她的内部数据,她已经崩溃了
2008-09-23 22:41 | 内容

# re: string和memset  回复  更多评论   

memset大多适用于POD类型
2008-09-24 00:07 | 万连文

# re: string和memset  回复  更多评论   

很不错的例子,明白了。能否从ida pro角度给讲解一下。顺便也是一个ida pro教程,支持alantop。
2008-09-24 01:21 | 周敏

# re: string和memset  回复  更多评论   

期待alantop的反汇编和高级调试教程。
2008-09-24 01:22 | 周敏

# re: string和memset  回复  更多评论   

这不明摆着么
2008-09-24 14:33 | 还要姓名?

# re: string和memset  回复  更多评论   

后果是内存泄露吧。
string 每次动态申请内存放string的。
2008-09-29 15:51 | wujf

# re: string和memset  回复  更多评论   

只能用temp.size()
sizeof(string )很大可能返回不到string 对象本来存储的字符个数值
sizeof(string)在一般编译器里面是32
2008-11-15 04:08 | cocohcx

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航:



股票数据格式 外汇交易系统 MT4编程 电子海图开发(S52 S57) AIS 电子海图和gis开发qq群:40968136