Objective c 按值传递像CATTransferM3D这样的结构是否昂贵?
在Cocoa或Cocoa Touch中,结构总是(或者几乎总是?)按值传递,即使不是像Objective c 按值传递像CATTransferM3D这样的结构是否昂贵?,objective-c,pass-by-reference,objective-c++,pass-by-value,Objective C,Pass By Reference,Objective C++,Pass By Value,在Cocoa或Cocoa Touch中,结构总是(或者几乎总是?)按值传递,即使不是像cGraffinetTransform这样的小结构,甚至是像catTransform3d这样的大结构 只是。。。为什么?是否要确保原始变量未更改?或者还有其他原因吗 通过常量指针或常量引用传递大型结构会好吗(比如,如果我可以确保值不会更改的话)?显然,如果你想这样做的话,你可以这样做;但第一条规则是不要过早地优化。如果你能证明你有一个问题,传递一个指针将减轻,好,然后优化;但我敢打赌你不会有这样的问题。另外,结
cGraffinetTransform
这样的小结构,甚至是像catTransform3d
这样的大结构
只是。。。为什么?是否要确保原始变量未更改?或者还有其他原因吗
通过常量指针或常量引用传递大型结构会好吗(比如,如果我可以确保值不会更改的话)?显然,如果你想这样做的话,你可以这样做;但第一条规则是不要过早地优化。如果你能证明你有一个问题,传递一个指针将减轻,好,然后优化;但我敢打赌你不会有这样的问题。另外,结构按值传递这一事实是C语言的一个特点,而不是Cocoa框架的惯例。