230得票6回答
如何在方法中访问“静态”类变量?

如果我有以下代码:class Foo(object): bar = 1 def bah(self): print(bar) f = Foo() f.bah() 它报错了 NameError: global name 'bar' is...

120得票12回答
C#中静态变量有什么用途?什么时候使用它?为什么不能在方法内声明静态变量?

我已经搜索了关于C#中静态变量的信息,但仍然不理解它的用途。另外,如果我尝试在方法内声明该变量,它将不允许我这样做。为什么呢? 我看过一些关于静态变量的例子。我知道我们不需要创建类的实例来访问该变量,但这还不足以理解其用途和何时使用它。 第二件事 class Book { pub...

81得票6回答
C++静态初始化顺序

在C++中使用静态变量时,通常会想要通过将一个变量传递给其构造函数来初始化另一个变量。换句话说,我想创建依赖于彼此的静态实例。 在单个.cpp或.h文件中,这不是问题:实例将按照声明的顺序创建。然而,当您想要使用另一个编译单元中的实例初始化静态实例时,似乎无法指定顺序。结果就是,取决于天气,...

73得票4回答
在接口实现中,静态变量的含义是什么?

我不太理解在接口实现中定义静态变量的含义。在方法中,我了解它们与局部变量的区别,但是在接口实现中直接定义时不清楚差别。 看看这些例子。从实际上讲,这两个有什么区别?#include "MyClass.h" @implementation MyClass int myInt; ... @en...

72得票10回答
何时应该在类中使用静态方法以及它们的好处是什么?

我知道静态变量的概念,但类中静态方法的好处是什么?我曾经参与过一些项目,但没有把方法定义为静态的。每当我需要调用一个类的方法时,我会创建一个该类的对象并调用所需的方法。 问:在方法中,静态变量即使在方法执行时也保持其值,但只能在其所包含的方法中访问,那么静态方法的最佳定义是什么? 问:在不...

58得票4回答
静态变量为什么只初始化一次?

我注意到如果你在C++中的代码中初始化静态变量,该初始化仅在第一次运行函数时运行。 这很酷,但它是如何实现的呢?它会被转换为某种扭曲的if语句吗?(如果给定一个值,那么...)void go( int x ) { static int j = x ; cout <&lt...

52得票3回答
C#: 静态方法中的静态变量

在静态方法中可以有静态变量吗?这个变量的值是否会在该方法的所有调用中保留? 例如:public static void MyMethod() { static int x = 0; x++; }

51得票5回答
C++静态成员变量及其初始化

在C++类中,静态成员变量的初始化是在类外部完成的。我想知道为什么?这是否有任何逻辑上的限制或要求呢?还是说这只是一种传统的实现方式 - 而标准并不想进行更正? 我认为,在类内进行初始化更具“直观性”和少些混淆。这也给人以变量既是静态的又是全局的感觉。例如,如果你查看静态常量成员。

32得票2回答
".LIB"和".OBJ"文件有什么区别?(Visual Studio C++)

我知道.OBJ是编译单元的编译结果,.LIB是可以从多个.OBJ创建的静态库,但似乎这种差异仅在编译单元数量上存在。还有其他区别吗?它们是相同的文件格式还是不同的文件格式? 当我想知道在两个(或更多).LIB中定义相同静态变量是否会合并到最终可执行文件时,就提出了这个问题。对于.OBJ,变量...