2011-05-31 144 views
-3

在我的程序中,我将本地构造的变量传递给全局类对象的成员函数。成员函数将把这个变量赋值给一个私有成员并在整个程序中使用它。这种方法有什么缺点吗?将局部变量传递给全局函数

public void function() 
{ 
int a = 0; 
globalClassObject.StoreValue(a); 

} 
+0

这里的问题是什么? – Stefan 2011-05-31 09:30:36

+2

@Jason的问题是,如果有这样做的缺点 – 2011-05-31 09:31:05

+0

为什么这会被投票? – logeeks 2011-05-31 10:09:42

回答

2

这很好。问题是如果你将传递给这个变量的引用。在这种情况下,该值被“复制”到该函数内的变量中,因此原始的a变量未被实际使用。

-1

最大的缺点是如果这个值可以在程序的其他地方改变。如果可以的话,你的程序将成为臭虫滋生的沼泽。如果globalClassObject不可变地存储这个值,那么没有问题。

+0

没问题,为什么我会因此而失望? – Aidan 2011-05-31 09:33:03

0

我没有看到这个问题。该变量仅用于本地范围,因此这里没有意外的结果。