gpt4 book ai didi

c++ - 当您只需要这些参数之一时,使用通过引用传递的不同参数调用函数的最佳方法

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

这是一个简单的问题:

如果我必须调用这样的方法,例如:

void getBounds(float &xmin, float &ymin, float &zmin,
float &xmax, float &ymax, float &zmax)

如果我只需要存储在 xmax 中的信息,调用该方法的正确方法是什么?我不想创建我不会使用的变量。

有没有办法做到这一点?假设做我想做的事情的错误方法是这样的:

float xmax;
getBounds(nullptr, nullptr, nullptr, xmax, nullptr, nullptr);

现在我正在使用虚拟垃圾变量,但也许还有另一种方法。

提前致谢。

编辑:抱歉,我忘了说我无法编辑该方法,该方法来自第三方库。

最佳答案

你能不能修改getBounds?如果可以,计算每个值都很昂贵,可能值得更改传递指针,只有在指针非空。否则,你需要传递一个左值(可变)到每个。理论上,如果你通过相同的变量超过一个参数,你可能会得到 undefined函数中的行为(比如因为函数以类似 xmin = ymin = 0.0; 的内容。

最后,除非每个值的计算开销很大,并且如果它得到一个空指针,函数将跳过它,创建和传递额外的变量不太可能对性能。

关于c++ - 当您只需要这些参数之一时,使用通过引用传递的不同参数调用函数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230357/

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