我真的希望这不是那些 super 基本的问题之一。

无论如何,我有一个包含47个组件的结构,并且我在调用各种函数,这些函数一次使​​用3到10个这些组件。

最好像这样调用该函数:foo(pParam->variable1, pParam->variable2, pParam->variable3)foo(pParam),然后在函数中使用pParam->variable1; pParam->variable2; pParam->variable3;

提前致谢!

最佳答案

您应该通过引用传递该结构,这样就不必复制所有值:

void foo(mySturct pParam); //Here the struct will be copy constructed.. relatively large overhead

void foo(Val1 param1, Val2 param2, Val3 param3); // 3 parameters passed by value, the value will be copied.

void foo(mySturct &pParam); //Only the reference to the structure is passed. Single pointer size value is passed.

总的来说,这里有结构,因此您可以合并数据。因此,将其拆开并将不同的参数传递给函数没有任何意义。
它应作为一个单元保留。

10-06 14:10