为什么基元不是引用类型?

Why primitives are not reference type?

我正在阅读有关值和引用类型的内容,但我找不到明确答案的问题是为什么 int/double 等基元不是引用类型,例如字符串。 我知道 strings/arrays/other 对象与 int 相比可能相当大(我看到它是引用的主要专业人士),所以不制作这些基元引用类型的唯一原因是因为它会过度杀伤?

这只是某些编程语言中的情况,这通常是作为一种优化来完成的(以避免需要为这种简单的类型执行内存取消引用或分配)。然而,有些语言使基本数字类型和程序员定义的对象看起来和行为相同,有时在编译器或解释器中自动在真实对象和简单对象之间进行选择,以在不使用类对象功能时保持效率。

Python 和 Scala 是无法区分基本整数和常规对象的示例; Java、C++ 和 C 是内置类型不同于程序员定义类型的示例。