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