2019年3月19日

c++对象内存管理

摘要: 1.基础 每个对象有独立的数据成员(非static),但是内存中成员函数只有一份,该类的所有对象共享成员函数。 static数据成员属于类,该类的所有对象共享static数据成员,static数据成员存储在静态存储区。对象数据成员依据创建对象的方式不同,可能存在于栈上或者堆上。成员函数存储在代码段。 阅读全文

posted @ 2019-03-19 15:30 能量星星 阅读(502) 评论(0) 推荐(0) 编辑

c++内存对齐

摘要: 1.为什么要内存对齐 内存存取粒度:大部分处理器并不是按字节块来存取内存的.它一般会以双字节,四字节,8字节,16字节甚至32字节为单位来存取内存,我们将上述这些存取单位称为内存存取粒度。 以4字节作为存取粒度的处理器,只能从地址为4的倍数的内存开始读取数据。 假如一个int变量存放在从地址1开始的 阅读全文

posted @ 2019-03-19 15:10 能量星星 阅读(138) 评论(0) 推荐(0) 编辑

STL—set

摘要: 1.set set底层用红黑树实现(每个元素的值都唯一,而且系统能根据元素的值自动进行排序)。并且set里面的元素是只读的,不可以直接修改,因为直接修改会破坏红黑树的结构。 由于使用红黑树,所以set的访问操作的时间复杂度是O(log(N))。 set的操作,例如插入、删除,并不需要执行内存拷贝和内 阅读全文

posted @ 2019-03-19 11:19 能量星星 阅读(189) 评论(0) 推荐(0) 编辑

导航