gpt4 book ai didi

c++ - 将代码传输到子函数

转载 作者:太空狗 更新时间:2023-10-29 19:47:11 26 4
gpt4 key购买 nike

我在一个函数中有一些代码,我想将其分离到它自己的函数中。我想尽可能少地修改原始代码来做到这一点。下面我写了一个简单的例子,其中代码段只是“x += y”。我想取出那段代码并将其放入自己的函数中。对于 C,我必须通过将 y 更改为指针然后使用它来做到这一点。但我记得在某处读过(现在忘记了),在 C++ 中有一些技巧,我可以以一种代码可以保持为“x += y”的方式传递变量。

仅供引用:我想在进行一些调用图分析时执行此过程(并可能稍后将其反转)。

void main()
{
int x = 2;
int y = 5;

#if KEEP_IN_BIG_FUNC

x += y;

#else // put in sub function

sub_function(y,&x);

#endif

printf("x = %d\n",x); // hopefully will print "7"
}

void sub_function(int y,int *x)
{
*x += y;
}

最佳答案

您将通过引用传递变量:

void sub_function(int y, int& x)
{
x+=y
}

关于c++ - 将代码传输到子函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3167796/

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