将局部变量传递给全局函数

问题描述

| 在我的程序中,我正在将局部构造的变量传递给全局类对象的成员函数。成员函数会将这个变量分配给私有成员,并在整个程序中使用它。这种方法有什么缺点吗?
public void function()
{
int a = 0;
globalClassObject.StoreValue(a);

}
    

解决方法

        这可以。问题是如果您要传递对此变量的引用。在这种情况下,该值被“复制”到函数中的变量中,因此实际上未使用原始的“ 1”变量。     ,        我没有看到这个问题。该变量仅在本地范围内使用,因此这里没有意外结果。     ,        最大的缺点是,如果可以在程序的任何其他位置更改此值。如果可以的话,您的程序将成为滋生错误的沼泽。如果globalClassObject不可变地存储该值,则没有问题。