标题:问个问题,关于 malloc和new
只看楼主
zhb_ice
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-10-6
 问题点数:0 回复次数:4 
问个问题,关于 malloc和new
malloc和new有什么区别

有一个程序
#include<iostream>
using namespace std;

class b
{
private:
b* pb;

public:
b();
void view();
};

void b::view()
{
cout<<"view"<<endl;
}


b::b()
{
pb = new b;
}

int main()
{
b a;
a.view();
return 0;
}


能够编译通过,但是缺不能调用view()函数,
如果把构造函数改成 pb = (b*)malloc(sizeof(b)); 就可以调用,比较奇怪 有人能解释下吗

搜索更多相关主题的帖子: malloc new 
2007-11-17 00:01
corrupt
Rank: 2
等 级:新手上路
威 望:3
帖 子:535
专家分:0
注 册:2004-9-29
得分:0 
new 会调用构造函数

2007-11-17 13:44
zhb_ice
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-10-6
得分:0 
能够解释下为什么在这个地方用使用new会出现问题吗
有点不明白 以前一直用的是new 没有遇到过这问题

2007-11-17 22:00
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
得分:0 
以下是引用corrupt在2007-11-17 13:44:36的发言:
new 会调用构造函数

这样是不是就会进入死循环?

2007-11-17 22:13
bluebell
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-14
得分:0 
malloc分配的是固定的格式,即大小固定,而new 分配的会根据参数自动确定地址的大小

[b][u]你说我容易吗?????[/u][/b]
2007-11-22 22:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-186616-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014617 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved