Advertisement

Unity面试 语言基础与计算机相关

阅读量:

Q1:结构体和类有什么区别?

结构体与类之间最显著的差异在于,结构体属于值类型,而类则属于引用类型。

这种本质区别导致了以下不同之处:

复制代码
1. 结构体的数据存储于栈中,而类创建的对象则存储在堆上
2. 相较于类对象,结构体体积较小,因此访问速度更快;而类对象由于体积较大,访问效率相对较低
3. 当对结构体进行赋值时,是直接复制其内容;而对于类对象的赋值,则是将引用指针指向目标内存地址
4. 结构体变量在使用结束后会自动释放所占用的内存空间,而类对象的内存回收则需要依赖垃圾回收机制来完成

结构体本质上是一种用于封装具体数据的容器,而类则是对现实世界中事物的一种抽象表示,并具备继承与多态等面向对象特性。

在结构体中定义的字段无法设置默认初始值,并且结构体本身不能拥有无参数构造函数。此外,在定义构造函数时必须为所有字段提供初始化操作。

Q2:你提到了值类型和引用类型,他们具体有哪些?有什么区别?

值类型涵盖的种类包括:整型、浮点型、布尔型、枚举型以及空值。

引用类型涵盖的种类包括:数组、类、接口、委托以及字符串。

它们之间的差异与特性如下:

  1. 值类型直接保存数据本身,而引用类型则存储指向数据的引用。
  2. 所有值类型均继承自ValueType类,而所有引用类型则

全部评论 (0)

还没有任何评论哟~