结构体比较轻量级,在传输数据的时候是copy数据,而不是如类一样给引用,所以不需要担心资源释放。同时结构没有多态特性,所以在调用方法的时候性能会更好。
结构是值类型,在分配内存的时候,速度非常快,因为他们将内联或者保存到堆栈中,在结构超出作用域被删除里,速度也很快。但当结构作为参数被传递或者把一个结构赋值给另一个结构,结构的所有内容都会被复制,性能影响就会较大。而对于类,只复制引用。struct 类型适于表示 Point、Rectangle 和 Color 等轻量对象。尽管可以将一个点表示为类,但在某些情况下,使用结构更有效。
如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当的构造函数。与类不同,结构的实例化可以不使用 new 运算符。如果不使用 new,则在初始化所有字段之前,字段都保持未赋值状态且对象不可用。
结构可实现接口,其方式同类完全一样。
|