在大多数情况下,您想要指针可能是正确的,但我个人认为需要显式刷新指针。这样可以使int和之间没有区别MyStruct。它们的行为方式相同。如果将此与C#(一种实现您所建议的语言)进行比较,我会感到困惑,因为它的语义是:static void SomeFunction(Point p){ p.x = 1;}static void Main(){ Point p = new Point(); SomeFunction(p); // what is p.x?}取决于是否Point将其定义为class或struct。