Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 按值传递像CATTransferM3D这样的结构是否昂贵?_Objective C_Pass By Reference_Objective C++_Pass By Value - Fatal编程技术网

Objective c 按值传递像CATTransferM3D这样的结构是否昂贵?

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这样的大结构 只是。。。为什么?是否要确保原始变量未更改?或者还有其他原因吗 通过常量指针或常量引用传递大型结构会好吗(比如,如果我可以确保值不会更改的话)?显然,如果你想这样做的话,你可以这样做;但第一条规则是不要过早地优化。如果你能证明你有一个问题,传递一个指针将减轻,好,然后优化;但我敢打赌你不会有这样的问题。另外,结

在Cocoa或Cocoa Touch中,结构总是(或者几乎总是?)按值传递,即使不是像
cGraffinetTransform
这样的小结构,甚至是像
catTransform3d
这样的大结构

只是。。。为什么?是否要确保原始变量未更改?或者还有其他原因吗


通过常量指针或常量引用传递大型结构会好吗(比如,如果我可以确保值不会更改的话)?

显然,如果你想这样做的话,你可以这样做;但第一条规则是不要过早地优化。如果你能证明你有一个问题,传递一个指针将减轻,好,然后优化;但我敢打赌你不会有这样的问题。另外,结构按值传递这一事实是C语言的一个特点,而不是Cocoa框架的惯例。