Unity面试 语言基础与计算机相关
发布时间
阅读量:
阅读量
Q1:结构体和类有什么区别?
结构体与类之间最显著的差异在于,结构体属于值类型,而类则属于引用类型。
这种本质区别导致了以下不同之处:
1. 结构体的数据存储于栈中,而类创建的对象则存储在堆上
2. 相较于类对象,结构体体积较小,因此访问速度更快;而类对象由于体积较大,访问效率相对较低
3. 当对结构体进行赋值时,是直接复制其内容;而对于类对象的赋值,则是将引用指针指向目标内存地址
4. 结构体变量在使用结束后会自动释放所占用的内存空间,而类对象的内存回收则需要依赖垃圾回收机制来完成
结构体本质上是一种用于封装具体数据的容器,而类则是对现实世界中事物的一种抽象表示,并具备继承与多态等面向对象特性。
在结构体中定义的字段无法设置默认初始值,并且结构体本身不能拥有无参数构造函数。此外,在定义构造函数时必须为所有字段提供初始化操作。
Q2:你提到了值类型和引用类型,他们具体有哪些?有什么区别?
值类型涵盖的种类包括:整型、浮点型、布尔型、枚举型以及空值。
引用类型涵盖的种类包括:数组、类、接口、委托以及字符串。
它们之间的差异与特性如下:
- 值类型直接保存数据本身,而引用类型则存储指向数据的引用。
- 所有值类型均继承自ValueType类,而所有引用类型则
全部评论 (0)
还没有任何评论哟~
