首页 > 系统相关 >sizeof与各数据结构内存占用计算

sizeof与各数据结构内存占用计算

时间:2023-11-01 22:11:56浏览次数:40  
标签:vector 内存 计算 sizeof 数据结构 type

一、sizeof

1. sizeof介绍

sizeof会计算参数的数据类型所占字节数。

注意事项:

  1. 如果是数组类型(非vector),则会返回整个数组所占字节数。

  2. sizeof是运算符,在编译期间确定,因此无法计算动态分配的内存大小,如new等。

2. 实现方式

  1. 获取type

  2. 使用getTypeInfoChars(type)来计算字节大小,根据不同的type,switch计算;

二、各stl数据结构内存计算

  1. vector与list

    sizeof(类型)*vector.size()
    
  2. map和set

    	unsigned n=tem.bucket_count();
    	float m=tem.max_load_factor();
    	if(m>1.0)
    		mm+=n*m;
    	else
    		mm+=n;
    

标签:vector,内存,计算,sizeof,数据结构,type
From: https://www.cnblogs.com/bzczz/p/17803465.html

相关文章

  • 数据结构-ST表
    ST表的使用范围:1.处理静态数组的极值问题2.尾部增减数组的极值问题ST表的原理:1.预处理:ST表的中心思想是动态规划,我们规定数组Max[i][j]储存的是数组中从第i个元素开始,总共2^j个数字的极(大)值,区间末尾位置为i+2^j-1。输入数组时,直接输入到Max[i][0]上。输入完成后,花费......
  • Oracle转为Mysql的数据结构差别
     Oracle的表空间相关函数TABLESPACE"SYSTEM"LOGGINGNOCOMPRESSPCTFREE10INITRANS1STORAGE(INITIAL65536NEXT1048576MINEXTENTS1MAXEXTENTS2147483645FREELISTS1FREELISTGROUPS1BUFFER_POOLDEFAULT)PARALLEL1NOCACHEDISABLE......
  • odoo 下载大量pdf使用内存太大,异常退出,pdf 分页
    说白了,还是因为wkhtmltopdf工具使用的内存太大,打印200个页面就会直接内存超标,直接退出直接改源码了,每次让pdf转换工具只处理50个记录@http.route(['/report/download'],type='http',auth="user")defreport_download(self,data,token):"""Thisfunctionis......
  • 解决ES因内存不足而无法查询的错误,Data too large, data for [<http_request>]
    转自https://www.kancloud.cn/luke8327/phpwolf/2655264本解决方案的前提是在docker环境下错误详情:[type=circuit_breaking_exception,reason=[parent]Datatoolarge,datafor[<http_request>]wouldbe[125643918/119.8mb],whichislargerthanthelimitof[9083......
  • 数据结构——二分查找(1)
    ``点击查看代码importjava.util.Scanner;publicclassMain{publicstaticint[]a=newint[10];publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);intn=s.nextInt();intb......
  • JVM 内存泄漏
    什么是内存泄漏     内存泄漏一般可以理解为系统资源在错误使用的情况下,导致使用完毕的资源无法回收(或没有回收),从而可能导致资源被耗尽引起系统错误。内存泄漏对系统危害比较大,因为他可以直接导致系统的崩溃。     内存泄漏和系统超负荷两者是有区别的,虽然可能导致的......
  • C++数据结构
    C++数据结构C/C++数组允许定义可存储相同类型数据项的变量,但是结构体是C++中另外一种用户自定义的可用的数据类型,它允许存储不同类型的数据项。结构用于表示一条记录,假设要跟踪图书馆书本的动态,可能需要跟踪每本书的下列属性:TitleAuthorSubjectBookID定义结构体......
  • 数据结构-布隆过滤器
    它是一种概率数据结构,用于查找集合中是否存在元素。换句话说,它可以判断一个元素是否可能(而不是绝对)存在于集合中。它具有空间效率,因为它不存储实际元素(如哈希映射)。此外,布隆过滤器可能会给出假阳性结果,但不会出现假阴性。......
  • 【Python微信机器人】第三篇:使用ctypes调用进程函数和读取内存结构体
    目录修整目前的系列目录(后面会根据实际情况变动):在windows11上编译python将python注入到其他进程并运行注入Python并使用ctypes主动调用进程内的函数和读取内存结构体使用汇编引擎调用进程内的任意函数利用beaengine反汇编引擎的c接口写一个pyd库,用于实现inlinehook利用......
  • 记一次老商家端应用内存突然飚高原因分析
    一、排查过程问题发现是因为当时接到了内存UMP报警信息,如下:通过查看PFinder发现内存一直在增长,没有停止迹象,触发fullGC也并没有下降趋势:当机立断,先立即去NP上摘除了此台机器流量,然后继续观察,发现内存依然在不断增长。随即查看故障分析,并没有得到有效信息:因为流量已经摘除......