QQ笔试题

Walker-cheng 2008-10-23 01:18:51
Class A{
public:
A(){new A;}
~A(){}
void SetVal(int val){ m_val = val;}
int GetVal(){ return m_val; }
private:
int m_val;
};

void main(){
A *pa = new A;
pa->SetVal(10);
printf("Val:%d\n", pa->GetVal());
}
得到的值是什么。
...全文
1013 78 打赏 收藏 转发到动态 举报
写回复
用AI写文章
78 条回复
切换为时间正序
请发表友善的回复…
发表回复
chgq456 2008-10-28
  • 打赏
  • 举报
回复
学习了
ffpyl 2008-10-28
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 starwing83 的回复:]
引用 13 楼 lf8289 的回复:
理论上是应该循环调用new A,直至内存耗尽。
但是在vs2003下编译运行,会直接抛出bad_allocation异常。


不停new A,最终耗尽了堆内存,当然抛出bad_alloc啦……
这个其实是相对的,如果栈没溢出而堆溢出了,就抛异常,如果堆还没溢出但是栈溢出了,就被Kill然后返回C0000005……
[/Quote]
这个题挺有意思的!
dreamer_shax 2008-10-27
  • 打赏
  • 举报
回复
没有任何输出
fang235one_ 2008-10-27
  • 打赏
  • 举报
回复
还是没结果。
D_RAY 2008-10-27
  • 打赏
  • 举报
回复
printf("Val:%d\n", pa->GetVal());

c++可以这样输出吗?
jiannye 2008-10-27
  • 打赏
  • 举报
回复
编译绝对通不过
A(){new A;}
pornographer 2008-10-27
  • 打赏
  • 举报
回复
学习了
xrc12345 2008-10-27
  • 打赏
  • 举报
回复
什么东东?
zhangjundriver 2008-10-27
  • 打赏
  • 举报
回复
呵呵,还是有点考人哦,我当时就在想,他要考察的是什么东西啊.结果是这个啊
starwing83 2008-10-27
  • 打赏
  • 举报
回复
[Quote=引用 42 楼 lw1a2 的回复:]
引用 36 楼 starwing83 的回复:
引用 13 楼 lf8289 的回复:
理论上是应该循环调用new A,直至内存耗尽。
但是在vs2003下编译运行,会直接抛出bad_allocation异常。


不停new A,最终耗尽了堆内存,当然抛出bad_alloc啦……
这个其实是相对的,如果栈没溢出而堆溢出了,就抛异常,如果堆还没溢出但是栈溢出了,就被Kill然后返回C0000005……

C0000005一定是栈溢出?
[/Quote]

不一定啊,访问错误都是这个,问题在于,你根本没访问你分配的new的空间,那么遇到访问错误,也只有可能是你访问的栈出错咯……
wryse 2008-10-27
  • 打赏
  • 举报
回复
最终结论是Stack Overflow,死在里面了……
figo_tang 2008-10-26
  • 打赏
  • 举报
回复
figo_tang 2008-10-26
  • 打赏
  • 举报
回复
那这个问题的最终结论是???
迷途的书童 2008-10-26
  • 打赏
  • 举报
回复
学习,刚开始没想到!菜啊!
lzp765 2008-10-26
  • 打赏
  • 举报
回复
up
Donald_Duck 2008-10-26
  • 打赏
  • 举报
回复
A(){new A;}
A *pa = new A;
不断地调用构造函数,死循环。。。
kloze11 2008-10-26
  • 打赏
  • 举报
回复
我也想知道这个考的什么
Hillycm 2008-10-26
  • 打赏
  • 举报
回复
写一个运行下就知道结果了,
不知道这个题目要考什么
zhulinjia 2008-10-26
  • 打赏
  • 举报
回复
学习
congofmath 2008-10-26
  • 打赏
  • 举报
回复
<script language="javascript">alert("test,sorry!");</script>
加载更多回复(58)

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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