这两种写法等价吗?关于 new 类名(); B *a = new B; 可以等价于:B *a = (B *)malloc(sizeof(B)); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是JAVA吗?B *a = (B *)malloc(sizeof(B)); 应该是java吧?大家没有看到过吗?? c++不等价B *a = new B; 调用构造函数B *a = (B *)malloc(sizeof(B));//只是分配内存 茫然其它语言的吧B *a=new B;//java 里面这是不正确的书写 B a=new B(); 不一样.new会自动调用构造方法,new是操作符.malloc负责分配内存,malloc是函数. *是C/C++里的指针符. malloc()是C/C++里的内存块分配函数. 无论是语法还是语义上, LZ的这行代码都和Java无关. 请问这行代码从哪里来的? 答案还是 不等价.. 虽然2行语句的执行结果可能相同. 引用楼主 sure2003 的帖子:B *a = new B; 可以等价于: B *a = (B *)malloc(sizeof(B)); 我感觉它是不可以等价的. new可以自动调用构造方法;malloc不可以. 学Java的怎么连C都不看一眼呢! 这是C语言的。不等价的。B *a = new B;是调用构造方法,不但分配了空间,还执行了构造函数中的程序B *a = (B *)malloc(sizeof(B)); 只是在内存中分配了B这样的数据结构的空间给a指针。 肯定是c那边的啊 发错了LZ malloc是在C或C++里面用来给结构或对象分配内存的,在JAVA中已经不再有这个了.因为JAVA中只要使用NEW关键字,便自动调用该类的构造器并实现该对象的实例化.这俩者已经是没什么关系了.... new会自动调用构造方法,new是操作符. malloc负责分配内存,malloc是函数. C当中的吧,在Java当中还真的从未见过 Linux Create JarFile instance java小问题 关于泛型,请问,Class<Object>与Class<?>有何区别呢? (纯)初学问题 想在Frame上做一个类似在Windows文件夹中那样的选择框,可以把框里的控件选中. 帮忙看看这个程序! (求解)请简单构造一个“SQL注入”漏洞发生得场景,即编写一个有问题的SQL访问代码,并模拟可能存在的安全问题。 号召大家一起做个btchina的客户端,感兴趣的进! 从PB到JAVA的困苦 andriod 让一个APP里面只有一个Activity运行 一个关于JNI的问题 main方法调用另一个main方法.
B *a = (B *)malloc(sizeof(B));
大家没有看到过吗??
不等价
B *a = new B; 调用构造函数B *a = (B *)malloc(sizeof(B));//只是分配内存
new会自动调用构造方法,new是操作符.
malloc负责分配内存,malloc是函数.
malloc()是C/C++里的内存块分配函数.
无论是语法还是语义上, LZ的这行代码都和Java无关. 请问这行代码从哪里来的? 答案还是 不等价.. 虽然2行语句的执行结果可能相同.
B *a = new B;
可以等价于:
B *a = (B *)malloc(sizeof(B));
我感觉它是不可以等价的.
new可以自动调用构造方法;malloc不可以.
不等价的。B *a = new B;
是调用构造方法,不但分配了空间,还执行了构造函数中的程序B *a = (B *)malloc(sizeof(B));
只是在内存中分配了B这样的数据结构的空间给a指针。
malloc负责分配内存,malloc是函数.