最贊回答 / stars_wisper
系統(tǒng)可以釋放對象,但不能釋放對象引用的東西。作者強調(diào)過,用了new一定要用delete。視頻末尾不是有一個示例嗎。<...code...>
2018-11-23
已采納回答 / 兩極反轉(zhuǎn)
#include "pch.h"#include <iostream>#include <string>#include<string>using namespace std;class Student?{public: void setName(string _name) { m_strName=_name; } string getName()? { return m_strName; } void setGender(string gender)? { m_...
2018-11-09
最贊回答 / CassanBob
全局區(qū)里的變量在整個程序的執(zhí)行期間都有效,不會被釋放,即抹除;棧區(qū)里的生命周期與對應(yīng)他前一個的花括號有關(guān)。當(dāng)執(zhí)行語句結(jié)束,棧區(qū)里的變量所占空間被釋放,當(dāng)整個程序運行結(jié)束,全局區(qū)里的變量所占空間被釋放。顯而易見,全局區(qū)的變量存活時間比棧區(qū)的長
2018-11-07
已采納回答 / lzq_get
這里要提到數(shù)據(jù)結(jié)構(gòu)中棧和堆的區(qū)別,棧是一種線性數(shù)據(jù)結(jié)構(gòu),管理比較簡單,后入先出,而堆是一種樹形結(jié)構(gòu),在處理優(yōu)先級事件上具有較大優(yōu)勢;棧中創(chuàng)建對象是由編譯器為對象在??臻g中分配內(nèi)存,函數(shù)執(zhí)行結(jié)束即自動銷毀,無法進行有效管理;而使用堆建立類對象,會在棧中保留指向該對象的指針,堆中通常保存程序運行時動態(tài)創(chuàng)建的對象,C++堆中存放的對象需要由程序員分配釋放,它存在程序運行的整個生命期,直到程序結(jié)束由OS釋放。而java中對象的創(chuàng)建默認是存放在堆中,也不需要程序員主動釋放內(nèi)存,會有GC垃圾回收機制進行釋放
2018-10-10