在 C++ 中更新函数之间的变量

updating variable between functions in c++

本文关键字:之间 变量 函数 更新 C++      更新时间:2023-10-16

我的主要程序是生成一个随机数来创建二维数组中对象的运动并跟踪它。

我的一个函数void current_row(int row){position = row};跟踪对象的当前行。

由于变量不是全局的。 我发现调用当前位置并将其更新到下一个动作时出现问题。 这是另一个函数的样子:

void movement (){
    int row;
    row = current_row();
    /*
     * Here is the problem i'm having. This may well be 
     * a third function which has the same information 
     * as my first function. But still how do I access
     * once without modifying it and access it  
     * again to update it?
     */
    // call another function that creates new row.
    // update that info to the row
}

我是 C++ 的新手。

使用实例变量来跟踪它。这就是实例变量存在的原因:在函数调用之间保存它们的值。

如果它是一个 OOP 环境(如 C++ 标签所暗示的那样),某个类应该将 int row 声明为类成员(包括 getter 和 setter 作为方法)。

另一种选择是在程序的 main() 部分的头部声明变量,并使用 row 作为函数参数调用函数。

空隙移动(整数行){

}

如果您打算更改参数,则可以考虑通过引用传递参数,否则最好在函数参数声明中声明它 const。如果部分答案对您来说听起来不熟悉,我建议您通读:按引用传递与按值传递有什么区别?