问题描述
|
在我的程序中,我正在将局部构造的变量传递给全局类对象的成员函数。成员函数会将这个变量分配给私有成员,并在整个程序中使用它。这种方法有什么缺点吗?
public void function()
{
int a = 0;
globalClassObject.StoreValue(a);
}
解决方法
这可以。问题是如果您要传递对此变量的引用。在这种情况下,该值被“复制”到函数中的变量中,因此实际上未使用原始的“ 1”变量。
, 我没有看到这个问题。该变量仅在本地范围内使用,因此这里没有意外结果。
, 最大的缺点是,如果可以在程序的任何其他位置更改此值。如果可以的话,您的程序将成为滋生错误的沼泽。如果globalClassObject不可变地存储该值,则没有问题。