易截截图软件、单文件、免安装、纯绿色、仅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


相关问答:

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

有一10*10矩阵,除去第一个点(0,0)和最后一点(9,9),还有八个点为1,其他都为0,要求用二维数组表示。八个点是随机生成的,编写相关程序表示矩阵所有可能情况。
真心求教各位高手,哎!本人太菜了!呵呵!
......

一道java题目,等待大家给予解答~~ - Java / Java EE

题目:
  有1,2,3,4,5,6六个数字排序,用java程序计算出排序的种类。
  要求:一,以4开头
  二,2,3不能相邻
  三,不能以5开头
  希望大家能即 ......

HTML标签底层的实现原理、机制 - Java / Java SE

为什么HTML以及一些其它标签会显示一些特定表现形式呢?如HTML中的换行标签<BR/>在底层是怎样实现的呢?现实的原理是什么呢
去W3C官方网站上,看看吧!我想一看你就明白了

我猜和编译原理有关,浏览器里可 ......

tomcat环境下jsp编译错误,求解! - Java / Web 开发

org.apache.jasper.JasperException: Unable to compile class for JSP: 
An error occurred at line: 52 in the jsp file: /vip_info.jsp
ÕË cannot be resolved
49: <table border="1& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号