gpt4 book ai didi

c++ - VS2008 传递变量 - 结构与结构组件 - 优点/缺点?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:15 24 4
gpt4 key购买 nike

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

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

这样调用函数是否更好:
foo(pParam->variable1, pParam->variable2, pParam->variable3)
foo(pParam) 然后在函数中使用 pParam->variable1; pParam->变量2; 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.

一般结构都在那里,所以你可以 union 数据。所以把它拆开来给函数传递不同的参数是没有意义的。
它应该保持为一个整体。

关于c++ - VS2008 传递变量 - 结构与结构组件 - 优点/缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6430932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com