关于c++ char 赋值前后长度不一样

jakcomeon 2013-10-15 03:41:09
关于c++ char 赋值前后长度不一样
char *string=new char[1];
strcpy(string,"我爱你");
utf8::gbk2utf8(string);
CCLabelTTF *nnn=CCLabelTTF::create(string,"Arial",30);
nnn->setPosition(ccp(50,500));

程序运行正常,但我有疑问:
char开辟的空间只有1,我赋值的时候超过了开始长度,请问会不会内存泄漏?string会不会内存自动释放?
...全文
443 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxq826 2013-11-14
  • 打赏
  • 举报
回复
内存越界,可能会造成一些未知的结果
zijing_86 2013-11-13
  • 打赏
  • 举报
回复
内存越界造成的问题,实在是难查
Universe_Admin 2013-10-18
  • 打赏
  • 举报
回复
内存越界和内存释放不释放没有必然联系,不释放内存就会内存泄露,string不会自动释放内存,所以你要自己手动释放 delete string; string = NULL;
max_min_ 2013-10-18
  • 打赏
  • 举报
回复
应该在拷贝字节的时候就不多了!
神-气 2013-10-16
  • 打赏
  • 举报
回复
delete string; 之后可能会发生内存段错误。
hslinux 2013-10-15
  • 打赏
  • 举报
回复
已经是内存越界操作了,占用别人的空间,当这部分空间的数据别人有在使用的时候,就出错了。 如果这部分内存一直没有其他地方在使用,也不会出错。
jakcomeon 2013-10-15
  • 打赏
  • 举报
回复
cocos2d-x
dssdss123 2013-10-15
  • 打赏
  • 举报
回复
不会自动释放的~~~cocos2d-x的内存自动管理,只管理那些继承于CCObject的类,自己new出来的其他东西还是要自己delete的。控件不够本身就有问题~~~

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧