游戏开发论坛

 找回密码
 立即注册
搜索
楼主: 微无渊

一个很糟糕的结构体

[复制链接]

12

主题

378

帖子

466

积分

中级会员

Rank: 3Rank: 3

积分
466
发表于 2012-9-2 08:29:00 | 显示全部楼层

轩辕崇正 本科你学音乐的怎么做来业余程序鸟

轩辕崇正
博客等级2积分71
基本资料
昵    称:        轩辕崇正
性    别:        男
生    日:         10-28 (农历九月廿九)天蝎座巳蛇
故    乡:         江苏省 宿迁市
现居住地:         福建省 漳州市 龙海市 招商局漳州开发区
自我介绍:        碧水连天静无浪,转东风,滟纹微涨。 个中趣,莫遣人知,年年日日,兰州共上。 平生书癖已均恙,解名缰,更逃羁网。 春近也,梅柳频看,花间闲度。细雨流光。
近期心愿:        GUI系统
个人信息
交友目的:        结交朋友
婚姻状况:        单身
学    历:        本 科
职    业:        计算机/互联网/通讯- 其他
年    薪:         不足1万
专长技能:        C++
身    高:        176-180 CM
体    重:        61-70KG
相    貌:        中等水平
体    型:        匀称
日常打扮:        休闲
是否吸烟:        从来不吸
是否饮酒:        反感饮酒
性格特点:        外向 ,         内向 ,         谨慎 ,         淳朴 ,         乐天达观 ,         热心助人 ,         善解人意 ,         成熟稳重
兴趣爱好:        音乐 ,         文学 ,         艺术 ,         游戏 ,         上网 ,         电脑 ,         软件
喜欢的颜色:        橙色 ,         黑色 ,         白色
喜欢的季节:        春天 ,         秋天
喜欢的运动:        乒乓球 ,         篮球 ,         武术
喜欢的音乐:        流行音乐 ,         民族音乐 , 美声
喜欢的电影:        历史剧 ,         科幻片 ,         喜剧片
个人经历
大    学:        厦门大学嘉庚学院(userDefine) (福建省) 音乐系 (本科)2008-2009

12

主题

378

帖子

466

积分

中级会员

Rank: 3Rank: 3

积分
466
发表于 2012-9-2 08:30:00 | 显示全部楼层

Re:一个很糟糕的结构体

最近看你上csdn的时间少了?

0

主题

37

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2012-9-2 11:05:00 | 显示全部楼层

Re:一个很糟糕的结构体

这样定义不是为了省字节,是为了内存空间连续。
这种写法已经成了C程序的标准写法了,不写注释无可厚非
楼主看的代码太少了吧。

顺便说一句,C++中不要用这种写法,C++的对象不仅仅是一块内存

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2012-9-2 12:22:00 | 显示全部楼层

Re: Re:一个很糟糕的结构体

这种结构通常用在二进制的文件存取上,
正常写法是使用struct head和struct body两个部分。
使用一次分配内存,读入文件数据,用两个结构部分来解释不同的数据,
并且因为C语言是手动分配内存,手动释放内存,分配释放次数越多越容易出错。
习惯上一次分配一大块,用不同的结构体和指针的位移来表述。
这里就谈不上什么标准,毕竟是越界访问数组,不加注释这种写法很容易产生误会。
C++的class就是struct结构,不过是加了建构和析构函数。
分配的结构本体内存还是连续的这一点和C是一样的,
即使在C++里把struct改成class这样用也没有任何问题。
可以参考
侯捷的<深度探索C++对象模型>
numpfish: Re:一个很糟糕的结构体

这样定义不是为了省字节,是为了内存空间连续。
这种写法已经成了C程序的标准写法了,不写注释无可厚非
楼主看的代码太少了吧。

顺便说一句,C++中不要用这种写法,C++的对象不仅仅是一块内存

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2012-9-2 12:35:00 | 显示全部楼层

Re: Re:一个很糟糕的结构体

顺便再说说所谓的标准,
有些语言上的东西是标准,
所谓人为的标准就是多写个点少写个点,
多加个空格少加个空格,
可能在阅读上会有歧义,但不影响功能开发,
这个时候需要个标准。
这种使用连续内存分配和数组越界访问,并不是标准。
而是在这种先决条件下只有这么一种写法。
那么他就是定理或者定式。
我国国内的学校将标准和定理混为一谈常常还夹带私货。
标准其实是可遵守可不遵守人为规定。
定理是必须遵服的自然规律。
numpfish: Re:一个很糟糕的结构体

这样定义不是为了省字节,是为了内存空间连续。
这种写法已经成了C程序的标准写法了,不写注释无可厚非
楼主看的代码太少了吧。

顺便说一句,C++中不要用这种写法,C++的对象不仅仅是一块内存

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2012-9-2 13:10:00 | 显示全部楼层

Re:一个很糟糕的结构体

我写代码,永远是把代码的排版,布局,放在第一位的,
就算是个demo,我也会精心安排代码排版,以最大限度增加可读性.使以后查阅的时候,可以一目了然,一目十行.
不过我不会让他影响到效率

我抄别人代码的时候,第一件事也是重新给他排版,和修改变量名,以看起来错落有致,变量名和作用相符.
不过,这种风格倒不是自创的,参照的是《高质量C++编程指南》。

当然,也可能是我视力不好,或者代码阅读能力太差.
总之,从我学C++那天起,我就保持这种习惯.

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2012-9-2 13:12:00 | 显示全部楼层

Re: Re:一个很糟糕的结构体

numpfish: Re:一个很糟糕的结构体

这样定义不是为了省字节,是为了内存空间连续。
这种写法已经成了C程序的标准写法了,不写注释无可厚非
楼主看的代码太少了吧。

顺便说一句,C++中不要用这种写法,C++的对象不仅仅是一块内存


发贴的时候,确实没考虑到连续内存问题,
不过他这代码我已经看完了,他不是为了连续空间,而只是为了书写方便,少写个malloc,因为他blocks这个对象里面还有malloc的需要,他怕代码写多了,我按照自己的方式改成了单独malloc

总之我很反对这种写法,如果真的要连续空间,那可以,但不要把指针用数组来写,这只会造成歧义

PS:
这是代码出处,是个脏矩形demo
http://blog.codingnow.com/cloud/DirtyRect

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2012-9-2 13:15:00 | 显示全部楼层

Re: 轩辕崇正 本科你学音乐的怎么做来业余程序鸟

服务器开发: 轩辕崇正 本科你学音乐的怎么做来业余程序鸟

轩辕崇正
博客等级2积分71
基本资料
昵    称:        轩辕崇正
性    别:        男
生    日:         10-28 (农历九月...


你头盔我隐私啊,

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2012-9-2 13:17:00 | 显示全部楼层

Re: Re:一个很糟糕的结构体

服务器开发: Re:一个很糟糕的结构体

最近看你上csdn的时间少了?



都有上,伺机而动,嘿嘿

12

主题

378

帖子

466

积分

中级会员

Rank: 3Rank: 3

积分
466
发表于 2012-9-2 18:04:00 | 显示全部楼层

Re: Re: 轩辕崇正 本科你学音乐的怎么做来业余程序鸟

微无渊: Re: 轩辕崇正 本科你学音乐的怎么做来业余程序鸟



你头盔我隐私啊,

嘿嘿,扒光,打PP [em21]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 19:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表