最新回答 / 嘿嘿嘿11
int main(int argc , char* argv[]){ {new int;} _CrtDumpMemoryLeaks(); return 0;}<...code...>
2016-11-20
最新回答 / Qays
arr存放的是你之前申请的内存的首地址,如果你只写delete arr的话它就只会释放首地址对应的空间,而你申请的十个空间中后面的九个都不会释放,加上[]只会表面释放arr着整一块的内存。
2016-11-20
最新回答 / weibo_你的手温暖了整个冬天_0
fun(int a,int b)这样定义的话会改变,fun(int &a,int &b)不会改变,因为形参定义的是a,b的地址,函数中a,b已经存放了值,所以调用的时候不会改变。
2016-11-15
最赞回答 / 慕粉1422388549
你把代码中第四句去掉就会好了。。 你想想 , p= &x ,x的地址给p ,然后 delete p; 这不等于是释放x吗?x又不是申请的,释放它当然会出现错误
2016-11-06
最赞回答 / 慕用2633824
<...code...>视频里面讲:函数定义和原型中的a和b是形參,那么函数调用中的x和y就是实参。实参是正名,形参是引用,是别名,函数体中利用形参进行交换。形参的值发生改变,实参的值也发生改变。交换发生前,int &a=x;诸位同修道友,我理解的对吧?
2016-11-05
已采纳回答 / 酱油湖了
char *str=new char[100];的意思是在堆中申请100个char类型的内存;char *str=new char(100);的意思是在堆中申请1个char类型的内存,初始化为100;这儿加一句new会调用默认初始化,char默认初始化为'',所以char *str=new char[100];这个就是100个''。至于你的”是把"Hello Imooc"放在str数组的第几个位置?随机?”这个问题,是放在了数组的前面几个位置,随机就不可能了,效率也不允许这样做。仅供参考,互相学习!
2016-10-31