将代码传输到子功能

Mic*_*ick 3 c++

我在一个函数中有一些代码,我想将它们分成它自己的函数.我希望尽可能少地修改原始代码.下面我写了一个简单的例子,代码段只是"x + = y".我想取出代码并将其放在自己的函数中.CI必须通过将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;
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*rkD 5

您可以通过引用传递变量:

void sub_function(int y, int& x)
{
   x+=y
}
Run Code Online (Sandbox Code Playgroud)