W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
整數(shù)集合的升級策略有兩個好處, 一個是提升整數(shù)集合的靈活性, 另一個是盡可能地節(jié)約內存。
因為 C 語言是靜態(tài)類型語言, 為了避免類型錯誤, 我們通常不會將兩種不同類型的值放在同一個數(shù)據(jù)結構里面。
比如說, 我們一般只使用 int16_t
類型的數(shù)組來保存 int16_t
類型的值, 只使用 int32_t
類型的數(shù)組來保存 int32_t
類型的值, 諸如此類。
但是, 因為整數(shù)集合可以通過自動升級底層數(shù)組來適應新元素, 所以我們可以隨意地將 int16_t
、 int32_t
或者 int64_t
類型的整數(shù)添加到集合中, 而不必擔心出現(xiàn)類型錯誤, 這種做法非常靈活。
當然, 要讓一個數(shù)組可以同時保存 int16_t
、 int32_t
、 int64_t
三種類型的值, 最簡單的做法就是直接使用 int64_t
類型的數(shù)組作為整數(shù)集合的底層實現(xiàn)。 不過這樣一來, 即使添加到整數(shù)集合里面的都是 int16_t
類型或者 int32_t
類型的值, 數(shù)組都需要使用 int64_t
類型的空間去保存它們, 從而出現(xiàn)浪費內存的情況。
而整數(shù)集合現(xiàn)在的做法既可以讓集合能同時保存三種不同類型的值, 又可以確保升級操作只會在有需要的時候進行, 這可以盡量節(jié)省內存。
比如說, 如果我們一直只向整數(shù)集合添加 int16_t
類型的值, 那么整數(shù)集合的底層實現(xiàn)就會一直是 int16_t
類型的數(shù)組, 只有在我們要將int32_t
類型或者 int64_t
類型的值添加到集合時, 程序才會對數(shù)組進行升級。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: