課程
/后端開發(fā)
/C++
/C++遠征之離港篇
為什么要申請內(nèi)存,直接賦值不更好嗎?
2016-06-30
源自:C++遠征之離港篇 5-2
正在回答
因為方便,且避免資源沖突
影衣 提問者
這個回答太簡潔,我打個比方:
假設(shè)A和B公司都需要一個程序錄入學生的數(shù)據(jù),
你直接在程序上寫,考慮未來用戶的公司規(guī)模,你是不是直接寫一個占用10000個空間的數(shù)據(jù)呢?
A是家小公司,只有50個人,用戶在使用時,只需50個人的數(shù)據(jù)內(nèi)存空間就夠了,而明明只有50條數(shù)據(jù),你的程序卻要在系統(tǒng)中多占用9950的內(nèi)存資源。
不論規(guī)模如何,這個程序都(只會)占用掉10000條數(shù)據(jù)的內(nèi)存空間,不能再多,也不能再少。
B是家大公司,有20000人,用戶在使用時,需要存儲20000人的數(shù)據(jù),20000條內(nèi)存資源,而你的程序只能容納10000人的數(shù)據(jù)。
如果使用申請內(nèi)存,在操作系統(tǒng)申請時需要在程序處做一個輸入,通過程序向操作系統(tǒng)申請50人的內(nèi)存資源空間,這時這個程序不多不少,剛好占用了50條數(shù)據(jù)的內(nèi)存資源,不會有多余的浪費。
而公司規(guī)模大的時候,不管公司是上萬人還是上百萬,你的程序都可以容納,只要用戶的計算機內(nèi)存夠大,申請多少內(nèi)存資源都沒問題。
而釋放內(nèi)存呢,當有一個人辭職離開公司的時候,你可以釋放掉1個內(nèi)存資源,當有新員工加入的時候,程序可以向操作系統(tǒng)申請1個內(nèi)存資源,每次占用的內(nèi)存資源空間都剛剛好,程序占用內(nèi)存的大小,盡用戶掌控之內(nèi),不受代碼限制,不多不少,走多少釋放多少。
舉報
C++掃清通往面向?qū)ο蟮淖詈笠坏勒系K,將所有知識點融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-07-01
因為方便,且避免資源沖突
2016-12-01
這個回答太簡潔,我打個比方:
假設(shè)A和B公司都需要一個程序錄入學生的數(shù)據(jù),
你直接在程序上寫,考慮未來用戶的公司規(guī)模,你是不是直接寫一個占用10000個空間的數(shù)據(jù)呢?
A是家小公司,只有50個人,用戶在使用時,只需50個人的數(shù)據(jù)內(nèi)存空間就夠了,而明明只有50條數(shù)據(jù),你的程序卻要在系統(tǒng)中多占用9950的內(nèi)存資源。
不論規(guī)模如何,這個程序都(只會)占用掉10000條數(shù)據(jù)的內(nèi)存空間,不能再多,也不能再少。
B是家大公司,有20000人,用戶在使用時,需要存儲20000人的數(shù)據(jù),20000條內(nèi)存資源,而你的程序只能容納10000人的數(shù)據(jù)。
如果使用申請內(nèi)存,在操作系統(tǒng)申請時需要在程序處做一個輸入,通過程序向操作系統(tǒng)申請50人的內(nèi)存資源空間,這時這個程序不多不少,剛好占用了50條數(shù)據(jù)的內(nèi)存資源,不會有多余的浪費。
而公司規(guī)模大的時候,不管公司是上萬人還是上百萬,你的程序都可以容納,只要用戶的計算機內(nèi)存夠大,申請多少內(nèi)存資源都沒問題。
而釋放內(nèi)存呢,當有一個人辭職離開公司的時候,你可以釋放掉1個內(nèi)存資源,當有新員工加入的時候,程序可以向操作系統(tǒng)申請1個內(nèi)存資源,每次占用的內(nèi)存資源空間都剛剛好,程序占用內(nèi)存的大小,盡用戶掌控之內(nèi),不受代碼限制,不多不少,走多少釋放多少。