static-members相关内容
此方法是线程安全的吗?好像不是... public static void Foo(string _str, Guid _id) { _str = _str + _id.ToString(); /* Do Stuff */ return } 解决方案 在这种情况下,参数是两个不可变的值.在一个方法中,只有一个线程在该组参数上运行,
..
您如何决定是在模块内部编写函数还是作为某种类型的静态成员进行编写? 例如,在F#的源代码中,有许多类型的定义以及同名模块,如下所示: type MyType = // ... [] module MyType = // ... 为什么不简
..
此C ++代码在编译时产生链接器错误: // A.h class A { public: static void f(); private: static std::vector v; }; // A.cpp void A::f() { // this line is causing trouble int i =
..
我无法弄清楚为什么收到此错误.任何人都可以伸出援手. 我需要在头文件中声明VideoCapture Capture,并在Video.cpp中调用它 Video.h class Video { public: static VideoCapture capture; //Default constructor Video(); //Decla
..
我有一个模板单例类,带有一个静态实例和一个静态getInstance()方法.但是,我在g ++(MinGW)实例上收到未定义的引用错误;起初,我以为是链接器顺序错误,但是无论我按什么顺序放置它们,我都会得到相同的结果. 但是,我发现,如果我明确地专门化了实例,它将进行编译(这不是可接受的解决方案).所以,这是代码: Singleton.hpp: #ifndef SINGLETO
..
可能重复: C ++-在类定义中定义静态const整数成员 注意:关于类似问题,有几个现存的问题,但是我已经复查了许多问题,却找不到答案来解释这种现象: 说我有以下代码(在标头文件中) class Foo { static const int TEST = 33; public: void willItWork(void) { prin
..
我有一个仅在本地使用的类(即,它的作用仅仅是它在其中定义的c ++文件) class A { public: static const int MY_CONST = 5; }; void fun( int b ) { int j = A::MY_CONST; // no problem int k = std::min( A::MY_CONST, b )
..
如果我有一个名为Test ::的课程, class Test { static std::vector staticVector; }; staticVector 何时构造,何时破坏? 是用Test类的第一个对象的实例化,还是像常规静态变量一样? 为澄清起见,在阅读了《编程语言概念》(Sebesta Ch-5.4.3.1)之后,我想到了这个问题,并说了::
..
我刚刚注意到,Swift structs的static成员是隐式lazy. 例如,这只会调用一次init: class Baz { init(){ print("initializing a Baz") } } struct Foo { static let bar = Baz() } var z = Foo.bar z = Foo.bar
..
可以通过两种方式访问静态类成员函数或变量:通过对象(obj.member_fun()或obj.member_var)或通过类(Class::member_fun()或Class::member_var).但是,在constexpr函数中,Clang给出了对象访问错误,并需要使用类访问权限: struct S { constexpr static auto s_v = 42;
..
public class DataFactory { private static DataFactory ourInstance = new DataFactory(); static { System.out.println(“static initialize”); } private DataFactory(){ System.out.println(“constru
..
在这里,我尝试使用内部静态助手类为我的数据库连接实现单例类: package com .myapp.modellayer; public class DatabaseConnection { private DatabaseConnection(){ // JDBC code ... } private static class ConnectionHelper
..
我的目标是在我的类中拥有一个私有静态属性对象,在创建其他属性我的应用程序所需的对象。当前的实现如下所示: public class MyClass { private static Properties DEFAULT_PROPERTIES = new Properties(); static { try { DEFAULT_PROPERTIES.load( MyClass
..
出于好奇,我测量了静态块和静态方法初始化器之间的性能。首先,我在两个单独的java类中实现了上述方法,如下所示: 首先: class Dummy { static java.util.List lista = new java.util.ArrayList(); static { for(int i = 0; i
..
在静态块内声明的变量是否可以在其他地方访问? 他们是什么样的“成员”(即,他们也是静态成员吗?) 解决方案 程序员不需要在静态块中声明任何变量,通常这只是为了确保静态变量的初始化以供所有类实例使用(取决于静态变量的范围)。 在静态块内声明的变量将与该方块和构造函数变量一样是该块的本地变量。
..
可能重复: 为什么Java禁止内部类中的静态字段? 我正在查看规范并得到内部类中的静态成员不可能是最终编译时间常量。 class HasStatic { static int j = 100; } class myInnerClassTest { class Inner extends HasStatic { static final int x = 3; // O
..
我已经看到很多关于访问封闭类的私有成员的问题。但是,我的问题恰恰相反。 如果我有(作为例子),则代码如下: 公共类A { private String outerString =“傻字符串”; 静态等级B { 私人最终A someA = new A(); public void foo(){ String b = someA.outerString; } }
..
为什么我们可以拥有静态最终成员但不能在非静态内部类中使用静态方法? 我们可以访问外部类之外的内部类的静态最终成员变量而不实例化内部类吗? 解决方案 你可以在静态“内部”类中使用静态方法。 public class Outer { static String world(){ return“world!”; } static class Inner { static
..
我有以下课程,我正在使用它作为我项目中所有模型的基础: public abstract class BaseModel { static String table; static String idField =“id”; public static boolean exists(long id)throws Exception { Db db = Util.get
..
我们有两个分类堆和堆栈。创建对象时,对象的内存存储在堆中。如果类具有静态方法,可以使用类名调用该怎么办。如果没有创建对象,那么它将如何分配内存?如果它在哪里分配内存? 解决方案 这取决于JVM,但静态字段通常存储在堆上的特殊对象中。 (您可以在堆转储中看到它)卸载ClassLoader时,它的类及其静态“对象”/字段也会被清理。 唯一不同的东西关于静态“对象”是你无法获得它的引用。
..