變量的理解

1. 變量的分類:html

  類成員變量,全局變量,局部變量, 參數變量,靜態變量等;linux

  不一樣類型的變量的大小容量有限。windows

2. 變量大小容量: 數組

  容量大小從小到大:緩存

  棧≤全局數據≤堆≤文件≤硬盤≤磁盤陣列≤雲存儲
  函數

  當程序須要使用好比2GB~1TB左右的存儲時,最簡單的辦法恐怕得是用文件讀寫模擬內存讀寫了吧。windows參考_fseeki64函數,linux參考fseeko64函數。post

 

  由於你不管怎麼開全局數組,棧的大小是被編譯器限制了的,因此最好仍是用new去使用堆內存生成動態數組。url

 

  變量選擇內存位置須要注意:棧大小<全局變量<堆(malloc/free, new/delete)
另外,若是要計算中文出現的頻率,須要每一箇中文都先讀到內存裏嗎?我的的建議是每次讀出一個加入申請的緩存裏,若讀到已經在緩存裏存在的不須要在放到緩存裏而是直接讓計數加1便可,這樣若是中文詞出現的頻率較大時,能夠減小不少的緩存,這樣也不須要申請太大的緩存,能夠在堆上申請空間,由於能夠動態申請。保證內存不浪費。htm

 

  

  C++ STL中的vector的內存分配與釋放

相關文章
相關標籤/搜索