注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

(转载)stl union obj的妙用  

2013-03-05 13:39:32|  分类: C++(VC)编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

这个绝似于前面总结过的:

linux内核中platform框架中的一个小技巧  :http://fpcfjf.blog.163.com/blog/static/55469793201141311439308/

(转载)结构体最后的长度为0或1数组的作用  :http://fpcfjf.blog.163.com/blog/static/554697932010511102717517/

stl union obj的妙用
2008-09-01 16:00 192人阅读 评论(0) 收藏 举报
list

 union obj

{

  union obj * free_list_link;

  char client_data[1];

};

union 类型内存分配的大小为它所包含类型中内存最大的一个

即 sizeof(obj *)等于4

stl 源码分析 中原句为:

上述Obj所用的是union,由于union之故,从其第一字段观之,obj可被视为一个指针,指向相同形式的另一个obj。

从其第二个字段观之,obj可被视为一个指针指向[实际区块];

达到一物两用的效果

 

具体展开说即:

obj在内存管理时为连接闲置内存的指针,当内存被分配出去后, obj(为char[1])作为用户使用的内存

要敏于思考。

  评论这张
 
阅读(590)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017