Questions tagged «static-variables»



13
C#中静态变量的用途是什么?什么时候使用?为什么我不能在方法内部声明静态变量?
我已经在C#中搜索了静态变量,但是我仍然不了解它的用途。另外,如果我尝试在方法内部声明变量,则不会授予我执行此操作的权限。为什么? 我看过一些有关静态变量的例子。我已经看到我们不需要创建类的实例来访问变量,但这不足以了解其用途以及何时使用它。 第二件事 class Book { public static int myInt = 0; } public class Exercise { static void Main() { Book book = new Book(); Console.WriteLine(book.myInt); // Shows error. Why does it show me error? // Can't I access the static variable // by making the instance of a …

6
C ++静态初始化顺序
当我在C ++中使用静态变量时,我常常最终想要初始化一个变量,并将另一个传递给其构造函数。换句话说,我想创建相互依赖的静态实例。 在单个.cpp或.h文件中,这不是问题:实例将按照声明的顺序创建。但是,当您要使用另一个编译单元中的实例初始化静态实例时,似乎无法指定顺序。结果是,取决于天气,可能会构造依赖另一个实例的实例,然后才构造另一个实例。结果是第一个实例未正确初始化。 有谁知道如何确保以正确的顺序创建静态对象?我已经寻找了很长时间的解决方案,尝试了所有解决方案(包括Schwarz Counter解决方案),但是我开始怀疑是否有真正可行的解决方案。 一种可能是使用静态函数成员的技巧: Type& globalObject() { static Type theOneAndOnlyInstance; return theOneAndOnlyInstance; } 确实,这确实有效。遗憾的是,您必须编写globalObject()。MemberFunction()而不是globalObject.MemberFunction(),从而导致客户端代码有些混乱和不雅观。 更新:感谢您的反应。遗憾的是,确实好像我已经回答了我自己的问题。我想我必须学会忍受...

4
接口实现中的静态变量是什么意思?
在接口的实现中定义时,我不太了解静态变量。在方法中,我确实了解它们与局部变量的区别,但在直接在实现中定义时则没有区别。 看这些例子。这两者实际上有什么区别? #include "MyClass.h" @implementation MyClass int myInt; ... @end 和: #include "MyClass.h" @implementation MyClass static int myInt; ... @end myInt在两种情况下都对所有方法可见,并且如果我解释了我正确运行的测试,myInt则对于两种不同的类实例,在两种情况下都将是相同的变量。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.