那谁的技术博客
感兴趣领域:高性能服务器编程,存储,算法,Linux内核
随笔 - 201, 文章 - 0, 评论 - 794, 引用 - 0
数据加载中……
(C++)一个愚蠢的错误
#include
<
string
.h
>
#include
<
string
>
using
namespace
std;
typedef
struct
Test
{
string
name;
int
a;
}Test;
int
main()
{
Test tTest;
memset(
&
tTest,
0
,
sizeof
(Test));
return
0
;
}
立此为据,长点记性.
posted on 2008-06-06 21:30
那谁
阅读(3291)
评论(22)
编辑
收藏
引用
所属分类:
C\C++
评论
#
re: (C++)一个愚蠢的错误
回复
更多评论
#include <string.h>
#include <string>
很有才
2008-06-06 21:44 |
罗宾李
#
re: (C++)一个愚蠢的错误[未登录]
回复
更多评论
晕倒
chinaunix上的是你哦,我是voipexplore。string内存布局不透明,只能用new类,不能用malloc类。
另楼上 包含string.h 是为了用memset
2008-06-06 22:00 |
CppExplore
#
re: (C++)一个愚蠢的错误
回复
更多评论
@罗宾李
string.h是C中的函数,使用memset的头文件,string就不必说了吧?我还不至于犯string和string.h不分的错误.
2008-06-06 22:17 |
创
#
re: (C++)一个愚蠢的错误
回复
更多评论
@CppExplore
以后注意兄弟的ID了:)
2008-06-06 22:22 |
创
#
re: (C++)一个愚蠢的错误
回复
更多评论
C++里的结构就是类,不可以memset哦
2008-06-07 00:56 |
晕
#
re: (C++)一个愚蠢的错误
回复
更多评论
错误就是 memset( ...string ) ?
有点巧,我同事也犯过这个错。:D
2008-06-07 09:27 |
Kevin Lynx
#
re: (C++)一个愚蠢的错误[未登录]
回复
更多评论
长知识了。
2008-06-07 13:25 |
ron
#
re: (C++)一个愚蠢的错误
回复
更多评论
能否请楼主详细解说一下错误?
2008-06-07 15:01 |
kam
#
re: (C++)一个愚蠢的错误
回复
更多评论
可以正常执行啊!可以解释一下么?谢谢!!
2008-06-07 20:24 |
林茂
#
re: (C++)一个愚蠢的错误[未登录]
回复
更多评论
楼上的,C++里结构就是类,而不是原生的C结构。用memset会把类里的一些必要数据也清零。比如如果类有虚函数,则就有虚表指针,你用memset会把虚函数表指针置为0,这样你的类还有多态吗,你的程序还是健壮的吗
2008-06-07 22:51 |
christanxw
#
re: (C++)一个愚蠢的错误
回复
更多评论
#include <cstring>
#include <string>
2008-06-09 18:05 |
Wang Feng
#
re: (C++)一个愚蠢的错误
回复
更多评论
@christanxw
thanks for explanation
2008-06-09 18:22 |
林茂
#
re: (C++)一个愚蠢的错误
回复
更多评论
OK, mark 下
2008-06-10 10:21 |
零宇
#
re: (C++)一个愚蠢的错误[未登录]
回复
更多评论
......我也这么做过。。。。
2008-06-12 19:28 |
杨粼波
#
re: (C++)一个愚蠢的错误[未登录]
回复
更多评论
@创
“C++对我而言就是有STL带class能处理多态,继承的C. ”
最初的C++大体是这样,除了STL。
然而,现在还这么想的话,犯下这个错误是必然——C++的对象模型远不止C那么简单,背后有很多事情需要注意的。甚至,有时候构造函数是否为inline就决定了代码是否为二进制兼容。
2008-06-15 19:53 |
raof01
#
re: (C++)一个愚蠢的错误
回复
更多评论
看完后,吓出一身汗,对内存对象模型的理解实在不够深入。
2008-06-15 23:30 |
alexandercer
#
re: (C++)一个愚蠢的错误
回复
更多评论
不能把一个string型的对象memset了。俺对CString对象做过相同的操作,结果,自然所崩溃了。
2008-06-19 16:30 |
abettor
#
re: (C++)一个愚蠢的错误
回复
更多评论
我只学过C++ 没用过这样的用法,有构造函数为什么还要如此呢
2008-07-02 20:13 |
foxtail
#
re: (C++)一个愚蠢的错误
回复
更多评论
这种错误,我一般不会犯。
因为结构体里我绝对不会放类对象,我只会放基本类型数据,
如果有类对象,我一定会放在类里,如果是用到类,一定会把memset要不放在构造函数里,要不就放在成员函数里
2008-10-13 15:53 |
x
#
re: (C++)一个愚蠢的错误
回复
更多评论
学习了。
2009-09-24 19:41 |
kiven
#
re: (C++)一个愚蠢的错误
回复
更多评论
额..struct里头的string不能按字节memset吧。。。
2010-01-26 00:10 |
qiuxiafei
#
re: (C++)一个愚蠢的错误
回复
更多评论
不错,学习了
2010-02-10 18:51 |
wantukang
刷新评论列表
IT新闻:
·
地盘被HTML5蚕食 Adobe Flash前途堪忧
·
微软云计算版Exchange默认邮箱容量增至25GB
·
微软:早期Bing概念设计概览
·
梅德韦杰夫总统宣布俄罗斯建本国“硅谷”
·
闾丘露薇:参观两间“小”公司
专题:
Android
iPad
jQuery
Chrome OS
博客园首页
IT新闻
知识库
学英语
C++程序员招聘
标题
姓名
主页
验证码
*
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
每天10分钟,轻松学英语
推荐职位:
·
飞信服务器端高级.NET开发工程师(新媒传信)
·
.NET飞信官网开发工程师(新媒传信)
·
.NET技术开发总监(广州衣酷)
·
ASP.NET资深工程师 (盛大网络)
·
.NET初级程序员 (北京安人)
·
.NET中级程序员 (北京安人)
·
中高级.NET工程师(沪江网)
·
前端开发工程师(沪江网)
博客园首页随笔:
·
12.清清的水儿蓝蓝的天 -- 组合模式(闪电咂摸设计模式傻瓜化)
·
重构-改善既有代码的设计(一)switch statements
·
从csv文件批量创建AD用户,带源码。
·
关于CodeSmith主模板与子模板同时从一个基类继承后的参数传值问题(提供模板下载)
·
DotText源码学习——从配置文件Web.config入手(一)
知识库:
·
Apple、Google 之战渐显个人色彩
·
闾丘露薇:参观两间“小”公司
·
你不是IT菜鸟系列
·
Go语言
·
我是如何筛选程序员的
相关文章:
自己实现的memcpy
服务器公共库开发--线程安全的singleton类, 可配置的线程锁管理类
服务器公共库开发--读取ini文件格式的类
如何使用位操作得到大于N且为2的次方的最小的数
(C++)一个愚蠢的错误
研究了一下SGI STL的内存算法
memcache内存池的设计原理
仿STL中的堆算法的一个实现
CGL开发手记之一--参考资料
Modern C++ Design(MCD)学习笔记 && 测试代码(二)
网站导航:
博客园
IT新闻
博客园个人主页
BlogJava
博客生活
IT博客网
PHP博客
博客园社区
管理
Powered by:
C++博客
Copyright © 那谁
导航
C++博客
首页
联系
聚合
管理
<
2008年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
公告
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(55)
给我留言
查看公开留言
查看私人留言
随笔分类
(253)
C\C++(18)
(rss)
ccache(8)
(rss)
CGL(5)
(rss)
gdb(2)
(rss)
libevent(2)
(rss)
lighttpd(10)
(rss)
linux kernel(7)
(rss)
Linux/Unix(32)
(rss)
memcached(2)
(rss)
mktags(4)
(rss)
Nginx(5)
(rss)
Perl(3)
(rss)
tokyo cabinet(5)
(rss)
操作系统(1)
(rss)
读书笔记(3)
(rss)
服务器设计(42)
(rss)
脚本语言(1)
(rss)
经验教训(1)
(rss)
其他(7)
(rss)
设计模式(24)
(rss)
算法与数据结构(48)
(rss)
图形学(1)
(rss)
网络编程(22)
(rss)
随笔档案
(201)
2010年3月 (1)
2010年1月 (5)
2009年12月 (7)
2009年11月 (3)
2009年10月 (7)
2009年9月 (2)
2009年8月 (2)
2009年7月 (1)
2009年6月 (3)
2009年5月 (2)
2009年4月 (7)
2009年3月 (2)
2009年2月 (2)
2009年1月 (5)
2008年12月 (1)
2008年11月 (2)
2008年10月 (6)
2008年9月 (12)
2008年8月 (11)
2008年7月 (5)
2008年6月 (2)
2008年4月 (3)
2008年3月 (3)
2008年2月 (1)
2008年1月 (1)
2007年12月 (3)
2007年11月 (3)
2007年8月 (1)
2007年7月 (2)
2007年6月 (2)
2007年5月 (9)
2007年4月 (1)
2007年3月 (8)
2007年2月 (3)
2007年1月 (5)
2006年12月 (4)
2006年11月 (3)
2006年10月 (5)
2006年9月 (4)
2006年8月 (13)
2006年7月 (28)
2006年4月 (1)
2006年3月 (4)
2006年2月 (4)
2006年1月 (1)
2005年12月 (1)
相册
ccache
lighttpd
tokyo cabinet
文件
关于我
我的google reader share
我的google reader share
开源项目
libevent
lighttpd
memcached
PCRE for Windows (Win32)
sqlite
STLFilt
论坛
ChinaUnix
OldLinux
朋友
cugb_cat
Edengundam
win_hate
ypxing
老罗
搜索
最新评论
1. re: lighttpd1.4.18代码分析(五)--处理超时连接
评论内容较长,点击标题查看
--hcykernel
2. re: 常见设计模式的解析和实现(C++)文档及源码打包下载
thanks.:)
--linSG
3. re: memcached采用的网络模型
@小阳
你的理解是正确的.
--那谁
4. re: memcached采用的网络模型
另外。。这个其实和unp上的多个父子进程一起accept很相似。。只是你接受连接做了个简单的分配。。前者是内核来唤醒的accept..我记得那个大侠说过。。现在Linux貌似已经解决惊群现象了。。。
--小阳
5. re: memcached采用的网络模型
这个模型。。只能处理各个连接间没有数据交互的情况。。不晓得是不。。请指正
--小阳
阅读排行榜
1. epoll学习笔记(13323)
2. 常见设计模式的解析和实现(C++)文档及源码打包下载(8170)
3. libevent事件处理框架分析(7810)
4. 同步/异步与阻塞/非阻塞的区别(5420)
5. epoll为什么这么快(5290)
6. epoll相关资料整理(5053)
7. Lighty与Nginx的比较分析(4908)
8. 二叉树遍历算法集合(前中后序遍历的递归和非递归算法,层序遍历算法)(4775)
9. Linux下面的线程锁,条件变量以及信号量的使用(4752)
10. [算法]红黑树的实现代码(修订版)(4632)
11. 二分查找算法(迭代和递归版本)(4493)
12. 让libevent支持多线程(4439)
13. 第一个socket程序-C\S模式的文件传输程序(4409)
14. 使用tolua++创建基于C\C++语言的lua脚本(4336)
15. 红黑树的实现源码(第二次修订版)(4311)
16. 程序设计经验总结(4235)
17. 多进程服务器中,epoll的创建应该在创建子进程之后(3957)
18. 我的项目Makefile文件模板(3795)
19. 自己设想的一个IM服务器的架构(3689)
20. 从半同步-半异步模式谈服务器的设计(3648)
21. 使用gdb跟踪C语言中变长数组的实现(3579)
22. P2P原理的解释与实现(3579)
23. lighttpd1.4.18代码分析(一)--watcher,worker模型(3561)
24. 研究了一下SGI STL的内存算法(3537)
25. 自己设想的一个IM服务器的架构(续一)(3428)
26. 自己实现的memcpy(3395)
27. [数据结构]红黑树的实现源码(3369)
28. (C++)一个愚蠢的错误(3291)
29. 探索C++的秘密之一详解extern "C"(3271)
30. 发布我的开源cache库ccache(3263)
31. Nginx0.7.61代码分析(一)--写在前面的话以及进程模型分析(3250)
32. AVL树的实现代码(3224)
33. 二分查找学习札记(3131)
评论排行榜
1. 常见设计模式的解析和实现(C++)文档及源码打包下载(65)