Tag: 静态

为什么全局variables和静态variables初始化为默认值?

在C / C ++中,为什么全局variables和静态variables初始化为默认值? 为什么不把它留在垃圾值? 这有什么特别的原因吗?

在类定义中定义静态常量整型成员

我的理解是,C ++允许静态const成员在类中定义,只要它是一个整数types。 那么,为什么下面的代码给我一个链接错误? #include <algorithm> #include <iostream> class test { public: static const int N = 10; }; int main() { std::cout << test::N << "\n"; std::min(9, test::N); } 我得到的错误是: test.cpp:(.text+0x130): undefined reference to `test::N' collect2: ld returned 1 exit status 有趣的是,如果我注释掉std :: min的调用,代码编译和链接就好了(即使test :: N也在前一行中引用)。 任何想法是怎么回事? 我的编译器是Linux上的gcc 4.4。

无法设置静态对象字段的值(错误LNK2001:无法parsing的外部符号)

我看起来很简单直接的代码片段,这是我正在写一个游戏中遇到的一个简化版本的问题。 我正在尝试在一个类中将静态字段设置为我的主要方法中的另一个值。 但是这个代码不会,我不明白为什么。 我得到错误 1> Source.obj:error LNK2001:无法parsing的外部符号“public:static class A * B :: a”(?a @ B @@ 2PAVA @@ A) class A { public: A() { } }; class B { public: static A* a; }; int main() { B::a = new A; } 有什么规则说,我必须在类之外定义我的静态类成员以使其链接?

我如何从静态上下文获取资源内容?

我想从xml文件中读取string,然后在窗口小部件上执行其他任何类似setText的事情,所以如何在没有活动对象的情况下调用getResources() ?

在C ++中定义静态成员

我想要这样定义一个公共的静态variables: public : static int j=0; //or any other value too 我得到了这样一个编译错误:ISO C ++禁止非常量静态成员“j”的类初始化。 为什么在C ++中不允许? 为什么const成员被允许初始化? 这是否意味着C ++中的静态variables不会像在C中那样使用0进行初始化? 谢谢 !

为什么我不能在类中初始化非常量静态成员或静态数组?

为什么我不能在类中初始化非常量static成员或static数组? class A { static const int a = 3; static int b = 3; static const int c[2] = { 1, 2 }; static int d[2] = { 1, 2 }; }; int main() { A a; return 0; } 编译器会发出以下错误: g++ main.cpp main.cpp:4:17: error: ISO C++ forbids in-class initialization of non-const static member […]

Java:静态与内部类

静态和非静态内部类有什么区别?

Java同步的静态方法:locking对象或类

Java教程说:“同一对象上的两个同步方法的调用不可能交错。 这对static method意味着什么? 由于静态方法没有关联的对象,所以synchronized关键字会locking类,而不是对象?

为什么在Java中使用静态嵌套接口?

我刚刚在我们的代码库中find了一个静态嵌套的接口。 class Foo { public static interface Bar { /* snip */ } /* snip */ } 我从来没有见过这个。 原来的开发人员遥不可及。 所以我不得不问: 什么是静态接口背后的语义? 如果我删除static会有什么变化? 为什么有人会这样做?

Java中的易变Vs静态

是否正确地说, 静态意味着所有对象的值的一个副本, 易失性意味着所有线程的值的一个副本? 无论如何,一个静态variables值也将成为所有线程的一个值,那么为什么我们应该去挥发 ?