A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 咖喱猫 中级黑马   /  2013-8-12 11:15  /  1151 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 咖喱猫 于 2013-8-13 18:41 编辑

话说,这个类经常用,已经不陌生了,但是这个结构就感觉不会用,有些陌生,什么时候该用结构?

6 个回复

正序浏览
高文咪 发表于 2013-8-12 16:16
结构体比较轻量级,在传输数据的时候是copy数据,而不是如类一样给引用,所以不需要担心资源释放。同时结构 ...

谢谢哈~~~
回复 使用道具 举报
xt654005440 发表于 2013-8-12 11:29
这里有一篇技术blog可以看看:http://www.cnblogs.com/siri/archive/2012/10/31/2748559.html
这里是一篇学 ...

谢谢分享~~
回复 使用道具 举报
结构体比较轻量级,在传输数据的时候是copy数据,而不是如类一样给引用,所以不需要担心资源释放。同时结构没有多态特性,所以在调用方法的时候性能会更好。
结构是值类型,在分配内存的时候,速度非常快,因为他们将内联或者保存到堆栈中,在结构超出作用域被删除里,速度也很快。但当结构作为参数被传递或者把一个结构赋值给另一个结构,结构的所有内容都会被复制,性能影响就会较大。而对于类,只复制引用。struct 类型适于表示 Point、Rectangle 和 Color 等轻量对象。尽管可以将一个点表示为类,但在某些情况下,使用结构更有效。
如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当的构造函数。与类不同,结构的实例化可以不使用 new 运算符。如果不使用 new,则在初始化所有字段之前,字段都保持未赋值状态且对象不可用。
结构可实现接口,其方式同类完全一样。
回复 使用道具 举报
这里有一篇技术blog可以看看:http://www.cnblogs.com/siri/archive/2012/10/31/2748559.html
这里是一篇学习笔记:http://hi.baidu.com/oulyzarcihsow/item/0419350997e5a23d4ac4a382
学习别人的经验,会对自己有很大帮助的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马