Tag: static

什么使一个静态variables只初始化一次?

我注意到,如果你用C ++在代码中初始化一个静态variables,初始化只在你第一次运行这个函数的时候运行。 这很酷,但是如何实施? 它是否转化为某种扭曲的陈述? (如果给定一个值,那么..) void go( int x ) { static int j = x ; cout << ++j << endl ; // see 6, 7, 8 } int main() { go( 5 ) ; go( 5 ) ; go( 5 ) ; }

返回到应用程序时,静态variables为null

在我的应用程序中,有一个静态variables在从外部浏览器返回到我的应用程序时被设置为null。 看起来像应用程序或其中的一部分被杀死,如果我启动的外部网页是足够复杂的。 如果应用程序被完全杀死,然后从主要活动中恢复,那么可以重新启动,但重新启动来自启动浏览器的活动 – 并不是要设置应用程序状态,因此在访问空静态variables时会崩溃。 这对我来说是一个六分之一的设备问题,所以我需要一些build议。 有没有一个标志来防止这种行为?

在一个接口的实现中静态variables的含义是什么?

在接口的实现中定义时,我不太了解静态variables。 在方法中,我明白它们与局部variables的区别,但不是直接在实现中定义的。 看看这些例子。 这两个实际上有什么区别? #include "MyClass.h" @implementation MyClass int myInt; … @end 和: #include "MyClass.h" @implementation MyClass static int myInt; … @end myInt在这两种情况下对所有的方法都是可见的,如果我解释了一个正确运行的testing, myInt在两种情况下都将是类的不同实例的相同variables。

一个类只有静态字段和方法是不好的做法?

我有一个只包含静态成员variables和静态方法的类。 本质上,它是一个通用的实用类。 一个类只包含静态成员variables和静态方法是不好的做法?

为什么一个const成员函数可以修改一个静态数据成员?

在下面的C++程序中,从const函数修改静态数据成员工作正常: class A { public: static int a; // static data member void set() const { a = 10; } }; 但是从const函数修改非静态数据成员不起作用: class A { public: int a; // non-static data member void set() const { a = 10; } }; 为什么一个const成员函数可以修改一个static数据成员?

在ASP.NET MVC的静态字段中使用Server.MapPath()

我正在构build一个ASP.NET MVC网站,我正在使用Lucene.Net进行search查询。 我在这里提出了一个关于如何在ASP.NET MVC应用程序中正确地构造Lucene.Net的用法的问题 ,并被告知最好的方法是将我的IndexWriter声明为public static ,以便它可以被重用。 以下是我的SearchController顶部的一些代码: public static string IndexLocation = Server.MapPath("~/lucene"); public static Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(); public static IndexWriter writer = new IndexWriter(IndexLocation,analyzer); 由于writer是静态的, IndexLocation也必须是静态的。 因此,编译器给我以下错误Server.MapPath() : 对象引用对于非静态字段,方法或属性“System.Web.Mvc.Controller.Server.get” 有没有一种方法使用Server.MapPath()或类似的静态字段 ? 我该如何解决这个错误? 提前致谢。

等效静态和非静态方法的速度差别很大

在这段代码中,当我在main方法中创build一个对象,然后调用这个对象的方法: ff.twentyDivCount(i) (运行在16010毫秒)时,运行速度比使用这个注释调用要快得多: twentyDivCount(i) 59516毫秒)。 当然,当我运行它而不创build一个对象时,我使得这个方法是静态的,所以它可以在main中调用。 public class ProblemFive { // Counts the number of numbers that the entry is evenly divisible by, as max is 20 int twentyDivCount(int a) { // Change to static int…. when using it directly int count = 0; for (int i = 1; i<21; i++) { if (a % […]

在Eclipse中debugging时修改/查看静态variables

按照这个问题。 在debugging视图中,有variables框架。 它显示当前对象的所有成员variables的值以及所有局部variables,但不显示对象类的任何静态variables。 我如何得到这些? 一些谷歌searchbuild议我按下工具栏上的button,但除了“显示types名称”“逻辑结构”和“全部折叠”(Eclipse 3.4.2)之外,variables框架的工具栏上没有任何内容。 有什么build议?

“char s ”这个函数的数组参数中static关键字的用途是什么?

浏览一些源代码时,我遇到了这样一个函数: void someFunction(char someArray[static 100]) { // do something cool here } 通过一些实验,看起来其他限定符也可能出现在那里: void someFunction(char someArray[const]) { // do something cool here } 当数组声明为函数的参数时,似乎限定符只允许在[ ]内。 这些做什么? 为什么function参数不同?

在Swift类中的静态与类的函数/variables?

下面的代码在Swift 1.2中编译: class myClass { static func myMethod1() { } class func myMethod2() { } static var myVar1 = "" } func doSomething() { myClass.myMethod1() myClass.myMethod2() myClass.myVar1 = "abc" } 静态函数和类函数有什么区别? 我应该使用哪一个,什么时候? 如果我尝试定义另一个variablesclass var myVar2 = "" ,它说: 类中尚未支持的类存储属性; 你的意思是“静态”? 当这个特性被支持的时候, 静态variables和类variables之间有什么区别? 我应该使用哪一个,什么时候? (Xcode 6.3)