面试题:类与结构的区别与相同点

区别:

1.类可以继承或者被继承;结构是密封的,不能被继承或者继承。

2.类是引用类型在堆上分配;结构是值类型在栈上分配。

3.复制类中变量时只是复制了引用,并且都指向推中同一对象;把一个结构赋值给另一结构就是把一个结构的值复制给另一个机构。

4.类中与析构函数,结构中不允许有析构函数。

5.类中,编译器只有在其他构造函数没有声明时才会提供隐式的无参构造函数;结构中预定义的无参构造函数对每个结构都是存在的,不能删除或者重定义。

6.类中可以初始化字段,结构中字段初始化是不允许的。

7.结构可以作为返回值和参数。

8.对结构进行分配比创建类的实例开销小,所有使用结构代替类会有效提高性能,但要注意装箱和拆箱的高代价。

相同点:

类与结构中的静态函数都在创建中初始化静态数据成员,并且不能引用实例成员。

猜你喜欢

转载自www.cnblogs.com/heipi-1799700431/p/9175821.html