使用std::vector時,受到系統(tǒng)內(nèi)存地址空間大小、計(jì)算機(jī)內(nèi)存大小、程序堆棧大小限制,其capacity有限。可以使用
size_type std::vector::max_size() const noexcept;
得到理論容量限制(但是實(shí)際使用仍然受計(jì)算機(jī)內(nèi)存大小限制)。
使用stxxl::vector可以支持超大容量數(shù)組,它的方式是利用磁盤進(jìn)行空間分配,并提供了內(nèi)存與磁盤的數(shù)據(jù)呼喚操作,類似于CPU Cache的“page”訪問機(jī)制。