我真的希望这不是那些 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.
总的来说,这里有结构,因此您可以合并数据。因此,将其拆开并将不同的参数传递给函数没有任何意义。
它应作为一个单元保留。