在采访中,我被要求概述Swift中 struct 和 classes 之间的区别。在我的观点中,我提出了一个论点,即 struct 存储在堆栈中(它们的空间在编译时保留),而 classes 存储在堆中(空间是在运行时分配)。
然后,面试官说他将真的测试我对Swift的了解,然后问我结构是否总是被存储在堆栈中。来回反复后,他发表了这样的声明:
如果一个结构体的长度超过3个字,那么它将在堆中分配
我已经在网上进行了一些研究,但似乎在任何地方都找不到。任何人都可以确认或拒绝此声明的有效性吗?另外,请随时添加任何相关/有效信息。