随笔分类 -  C++ 内存

关于C++内存管理和优化的相关知识!
摘要:最近在看《深度探索C++对象模型》,对于Struct的用法中,发现有一些地方值得我们借鉴的地方,特此和大家分享一下,此间内容包含了网上搜集的一些资料,同时感谢提供这些信息的作者。原文如下: 例如,把单一元素的数组放在一个struct的尾端,于是每个struct objects可以拥有可变大小的数组。 code: structmumble { //stuff charpc[1]; }; //从档案或标准输入装置中取得一个字符串,然后为struct本身和该字符串配置足够的内存 struct mumble *pmumbl=(struct mumble*)mal... 阅读全文
posted @ 2013-06-20 10:12 nchxmoon 阅读(3386) 评论(0) 推荐(2)
摘要:在main()中写有内存泄露的代码,通过调用_CrtDumpMemoryLeaks(); 方法,在Debug模式下,输出窗口就可以检测到内存泄露! 阅读全文
posted @ 2013-01-25 17:38 nchxmoon 阅读(165) 评论(0) 推荐(0)
摘要:请记住三条内存规则(在没有#pragam pack宏的情况下): 1.数据成员对齐规则:struct, union的数据成员,第一个数据成员放在offset为0的地方,之后的数据成员的存储起始位置都是放在该数据成员大小的整数倍位置。如在32bit的机器上,int的大小为4,因此int存储的位置都是4的整数倍的位置开始存储。 2.结构体作为数据成员的对齐规则:在一个struct中包含另一个struct,内部struct应该以它的最大数据成员大小的整数倍开始存储。如 struct A 中包含 struct B, struct B 中包含数据成员 char, int, double,则 stru.. 阅读全文
posted @ 2012-05-21 16:28 nchxmoon 阅读(1812) 评论(0) 推荐(0)