西西河

主题:【原创】猛批烂书 程序员面试宝典 上 -- 晨池

共:💬64 🌺96
全看分页树展 · 主题 跟帖
家园 错误是没有的,没有所谓a1必须要放到栈上的说法。

两个例子的区别就是,1里的vector a1是在栈上

构造的,而2里的vetor a1是在堆上构造的。

1里的a1在函数出栈的时候会自动调用vector类的析构函数,释放他分配的内存,同样2里的a1,在调用delete的时候,也会调用vector类的析构函数,释放他分配的内存。

错误是没有的,当然从写法上来说是1比较好,在这种情况里2有点所谓的脱裤子放屁,而且如果你忘了写delete内存就泄露了,可1不会有这种情况,因为C++编译器在函数出栈的时候会自动调用所有临时对象的析构函数。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河