夏天/isummer

Sun of my life !Talk is cheap, Show me the code! 追风赶月莫停留,平芜尽处是春山~

博客园 首页 新随笔 联系 管理

1. 变量的分类:

  类成员变量,全局变量,局部变量, 参数变量,静态变量等;

  不同类型的变量的大小容量有限。

2. 变量大小容量: 

  容量大小从小到大:

  栈≤全局数据≤堆≤文件≤硬盘≤磁盘阵列≤云存储
  

  当程序需要使用比如2GB~1TB左右的存储时,最简单的办法恐怕得是用文件读写模拟内存读写了吧。windows参考_fseeki64函数,linux参考fseeko64函数。

 

  因为你无论怎么开全局数组,栈的大小是被编译器限制了的,所以最好还是用new去使用堆内存生成动态数组。

 

  变量选择内存位置需要注意:栈大小<全局变量<堆(malloc/free, new/delete)
另外,如果要计算中文出现的频率,需要每个中文都先读到内存里吗?个人的建议是每次读出一个加入申请的缓存里,若读到已经在缓存里存在的不需要在放到缓存里而是直接让计数加1即可,这样如果中文词出现的频率较大时,可以减少很多的缓存,这样也不需要申请太大的缓存,可以在堆上申请空间,因为可以动态申请。保证内存不浪费。

 

  

  C++ STL中的vector的内存分配与释放

posted on 2019-07-02 09:50  夏天/isummer  阅读(391)  评论(0编辑  收藏  举报