游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7182|回复: 13

new char[0]是什么?

[复制链接]

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2007-10-19 00:13:00 | 显示全部楼层 |阅读模式
char* p = new char[0];
p不是NULL
为啥?

20

主题

222

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
发表于 2007-10-19 07:10:00 | 显示全部楼层

Re:new char[0]是什么?

缴固定税

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
 楼主| 发表于 2007-10-19 10:52:00 | 显示全部楼层

Re:new char[0]是什么?

" c++标准要求,即使在请求分配0字节内存时,operator new也要返回一个合法指针。(实际上,这个听起来怪怪的要求确实给c++语言其它地方带来了简便) "

= =|||

16

主题

280

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
发表于 2007-10-19 17:38:00 | 显示全部楼层

Re:new char[0]是什么?

原来能这么用

14

主题

345

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
QQ
发表于 2007-10-19 18:36:00 | 显示全部楼层

Re:new char[0]是什么?

.........

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2007-10-21 14:03:00 | 显示全部楼层

Re:new char[0]是什么?

明白了……

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
 楼主| 发表于 2007-10-21 17:46:00 | 显示全部楼层

Re:new char[0]是什么?

明白啥了,您

6

主题

99

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2007-10-22 23:27:00 | 显示全部楼层

Re:new char[0]是什么?

第一次见,提问题的高手,敬佩!!
不过这到底这有什么用处?

3

主题

32

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2007-10-24 11:03:00 | 显示全部楼层

Re:new char[0]是什么?

当分配0字节内存时,C++会按分配1字节处理
当你学习operator new关于重载new时,就会知道了, 这时一个C++标准

3

主题

32

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2007-10-24 11:07:00 | 显示全部楼层

Re:new char[0]是什么?

另外C++标准中,当new找不到足够内存时,会抛出bad_alloc异常,但是某些编译器在debug版时,会对new做一些改动。release版应该没事
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-19 21:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表