易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA过度过来,问个c++的问题 - C/C++ / C++ 语言

以前在java可以这么写


addRow(new Row(chaList)); //addRow是一个方法,charList是生成Row的参数

本来这样在java是没任何问题的,到c++之后 会在new下面画一个波浪线,说是有错。


请问

在c++中可以有类似的用法吗?如果是语法的问题请纠正。
C++中不用这样写的,addRow是个函数,Row是个函数,chaList是Row参数
addRow(Row(chaList));这样就行了


不行,抛开语法,就语言特性上来说,c++没有垃圾自动回收,你new出来的对象又不传给一个变量,那如何销毁?

Row *row=new Row(chaList))
addRow(row);

addRow的参数必须是Row*类型,而且需要注意自己释放内存。java是自动回收的。

C++ 要求向前声明

没有函数原型和实现,谈这个函数没有答案

引用

Row *row=new Row(chaList))
addRow(row);

addRow的参数必须是Row*类型,而且需要注意自己释放内存。java是自动回收的。



这样生成的object如何垃圾回收?

是不是有class 的destructor就可以了?


这其实就是为什么java中的new ClassA(new ClassB(new ClassC(new (ClassD))));这种装饰器模式的实现,如果C++中用就会感觉蛋疼的原因

引用
引用 4 楼 cattycat 的回复:

Row *row=new Row(chaList))
addRow(row);

addRow的参数必须是Row*类型,而且需要注意自己释放内存。java是自动回收的。



这样生成的object如何垃圾回收?

是不是有class 的destructor就可以了?

栈内存(不用ne


相关问答:

java日期处理 - Java / Java SE

当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910

取得天数后作一下判断再把这个方法用下void set(int field, int value)  
......

JSP 接收 FORM 提交 - Java / Web 开发

一个JSP页面接收其他页面提交过来的FORM表单,但是要求只接收当前站点及其子站点提交过来的FORM表单,其他站点提交过来的表单不接收,这个怎么设置?
用过滤器
filter
将当前站点及其子站点放一个目录 
然 ......

求教c/c++语言相关问题 - C/C++ / C语言

有一10*10矩阵,除去第一个点(0,0)和最后一点(9,9),还有八个点为1,其他都为0,要求用二维数组表示。八个点是随机生成的,编写相关程序表示矩阵所有可能情况。
真心求教各位高手,哎!本人太菜了!呵呵!
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号