求好心人科普下C++的new 用法,感觉跟Java不一样
RT:求好心人科普下C++的new 用法,感觉跟Java不一样基本一样的,只不过Java里把C++里的“指针”称为“引用”。并且java中不需要手动释放new出来的对象 JAVA还没研究完,没能比较。。。但这个new相比于c的malloc就好用得多,使用new直接返回一个地址,若用malloc的话还需要转换数据类型限制字节大小等等,很复杂。 new好像是C++中的运算符,用来申请动态内存的,如果释放掉,用delete运算符 呵123 发表于 2014-4-12 12:10 static/image/common/back.gif
new好像是C++中的运算符,用来申请动态内存的,如果释放掉,用delete运算符
嗯,就是new int(100)和new int 感觉不一样,运行时 前者会有内存错误 仰望天上的光 发表于 2014-4-12 09:54 static/image/common/back.gif
基本一样的,只不过Java里把C++里的“指针”称为“引用”。并且java中不需要手动释放new出来的对象
是的,所以感觉Java用起来简单一点,也可能是我学的太浅的缘故吧 忠弟 发表于 2014-4-12 11:05 static/image/common/back.gif
JAVA还没研究完,没能比较。。。但这个new相比于c的malloc就好用得多,使用new直接返回一个地址,若用mallo ...
{:7_169:}{:7_169:}{:7_169:}{:7_169:}{:7_169:}大神。。。。 寒江雪 发表于 2014-4-12 17:44 static/image/common/back.gif
嗯,就是new int(100)和new int 感觉不一样,运行时 前者会有内存错误
new int(100)返回的指针指向一个存储单元,这个存储单元里只有1个int,其值为100
new int 返回的指针指向一个存储单元,这个存储单元里只有100个int,其值为随机
用new int(100)出错,一般是误认为该语句是new int,接下来会产生数组越界错误 寒江雪 发表于 2014-4-12 17:44 static/image/common/back.gif
嗯,就是new int(100)和new int 感觉不一样,运行时 前者会有内存错误
new int(100),是申请一个int 型的内存,然后给它赋值为100,new int,是申请100个int型的动态内存。 仰望天上的光 发表于 2014-4-12 18:36 static/image/common/back.gif
new int(100)返回的指针指向一个存储单元,这个存储单元里只有1个int,其值为100
new int 返回的指 ...
恍然大悟,多谢指教{:7_148:}{:7_148:}{:7_148:}
页:
[1]