static-members相关内容
在this thread中,关于单例实例的描述如下: 静电变量可以是getInstance()函数的静电,也可以是Singleton类中的静电。这里有一些有趣的权衡。 这些权衡是什么?我知道,如果声明为static函数变量,则在第一次调用函数之前不会构造单例。我也读过一些关于线程安全的文章,但我不知道这到底需要什么,也不知道这两种方法在这方面有什么不同。 两者之间还有其他主要区别
..
我最近突然想到以下(示例)枚举... 枚举颜色{红色的,绿,黄色的,蓝色} ... 可以替换为看似更安全的类: 类颜色{私人颜色(){}公共静态只读颜色红色=新颜色();公共静态只读颜色绿色=新颜色();公共静态只读颜色黄色=新颜色();公共静态只读颜色蓝色=新颜色();} 对于“类型安全",我的意思是如果 Color 是枚举,则以下语句将起作用,但如果 Color 是上述类,则不会:
..
我正在开发一个使用 Web 服务从服务器获取数据的 android 应用程序,因为我有三组不同的 URL 来指向开发系统、测试服务器和实时服务器.每当我想提供测试/直播应用程序时,都很难更改 URL.所以我计划将其设置为可配置的,以便应用程序可以根据我的构建类型配置常量获取适当的 URL.所以, 这是保持这个常量的最好方法,java静态类或java公共接口或xml资源文件.?什么时候?为什么
..
当我想要一个静态指针作为类的成员时,我需要 constexpr 来使用 nullptr 进行初始化. 类应用程序{私人的:constexpr 静态 Application* app = nullptr;} 谁能解释我为什么需要这样做?我找不到静态变量必须在编译时存在的确切原因. 解决方案 那是因为你在类定义中初始化它.这只允许用于常量整数和枚举类型(总是)和 constexpr 数据成
..
要么我很累,要么发生了一些我不知道的奇怪事情,因为下面的代码导致链接时 Foo::A 和 Foo::B 的符号未定义.这在一个更大的项目中尽可能地最小化,但显示了我所看到的本质. #include 结构 Foo{静态常量 int A = 1;静态常量 int B = 2;};主函数(){返回 std::min(Foo::A, Foo::B);} 没有 std::min 函数模板也可以正
..
对于静态成员初始化,我使用嵌套的帮助器结构,它适用于非模板类.但是,如果封闭类由模板参数化,则嵌套初始化类不会被实例化,如果辅助对象没有在主代码中访问.为了说明,一个简化的例子(在我的例子中,我需要初始化一个向量). #include #include 结构 A{结构 InitHelper{初始化助手(){A::mA = "你好,我是 A.";}};静态 st
..
静态成员变量会被垃圾回收吗? 例如,让我们使用下面的类. 公共类 HasStatic {私有静态列表共享 = 新列表();} 假设它是这样使用的: //启动{HasStatic a = new HasStatic();HasStatic b = 新 HasStatic();HasStatic c = 新 HasStatic();HasStatic d = 新的 Ha
..
我已经定义了一个函数 HRESULT AMEPreviewHandler:: CreateHtmlPreview(){ULONG CbRead;常量整数大小= 115000;字符缓冲区[大小+1];HRESULT hr = m_pStream->Read(Buffer, Size, &CbRead);//这个 m_pStream 在这里是不可访问的,即使它是全局声明的.程序要求我//声明它是静态
..
我刚刚注意到 Swift structs 的 static 成员是隐式的 lazy. 例如,这只会调用 init 一次: class Baz {在里面(){打印(“初始化巴兹")}}结构 Foo {静态 let bar = Baz()}var z = Foo.barz = Foo.bar 这背后的原理是什么? 如果我想要相反的行为怎么办? 解决方案 static 属性定义了
..
我知道你可以间接定义它们 使用伴随对象实现类似的东西,但我想知道为什么作为一种语言设计,静态变量会从类定义中删除. 解决方案 我也在 scala 用户 google group 上发布了这个问题,Bill Venners 是“Programming in scala"回复的作者之一,他有一些见解. 看看这个:https://groups.google.com/d/msg/scala-
..
可能的重复: 为什么我们不能在内部类中有静态方法? 我知道创建一个非静态内部类对象需要一个外部类对象,并且创建的非静态内部类对象自动具有对外部类对象的隐藏引用.但是为什么非静态内部类不能有静态成员呢?Java设计者只需要禁止内部类的静态方法内部的非静态外部类字段的访问,它会更有意义,非? 如果内部类有静态成员没有意义,为什么内部类可以通过继承有静态成员的类来继承静态成员? 我读
..
你如何决定在模块内部编写函数还是作为某种类型的静态成员? 例如,在 F# 的源代码中,有很多类型与同名模块一起定义,如下所示: type MyType =//...[]模块 MyType =//... 为什么不简单地将操作定义为 MyType 类
..
我正在开发一个 android 应用程序,它使用 Web 服务从服务器获取数据,为此我有三组不同的 URL 指向开发系统、测试服务器和实时服务器.每当我想提供测试/实时应用程序时,都很难更改 URL.所以我计划将其设置为可配置的,以便应用程序可以根据我的构建类型配置常量获取适当的 URL.所以, 这是保持这个常量的最好方法,java静态类或java公共接口或xml资源文件.?什么时候?为什么
..
我最近发现以下(示例)枚举... 枚举颜色{红色的,绿,黄色的,蓝色} ... 可以用一个看起来更类型安全的类来代替: class 颜色{私有颜色(){}public static readonly Color Red = new Color();public static readonly Color Green = new Color();public static readonly C
..
我有一个字符串常量,我必须在几个不同的 XAML 布局中重新使用它,因此我不想复制它,而是将它绑定到一个常量. 我有一个在 C# 中定义字符串的类: 公共静态类 StringConstants{公共静态字符串 MyString { 获取 { 返回“SomeConstant";} }} 我希望能够通过 XAML 通过如下方式设置值: 这能实现吗?我已经搜索了示例,但我只找到了涉及对代
..
我在 Mac OS X 上使用 Qt 4.7 和 Cmake 2.8.3 以及 g++ 4.2.1. 在我的一个文件中使用静态或全局变量时,我收到了一个奇怪的链接器错误.这是错误: ld:CMakeFiles/GLBall.dir/src/DesktopMain.cpp.o 和 CMakeFiles/GLBall.dir/src/ColorTrail.cpp.o 中的重复符号 ColorT
..
我确实有一个如下所示的类: //.h文件类 __declspec(dllimport) MyClass{上市://东西私人的:静态 int myInt;};//.cpp 文件int MyClass::myInt = 0; 我收到以下编译错误: error C2491: 'MyClass::myInt' : 不允许定义 dllimport 静态数据成员 我该怎么办? 解决方案 __d
..
我在我的班级中使用了私有静态最终 LOGGER 字段,我希望 LOGGER.isInfoEnabled() 方法返回 false.如何使用 mockito 或 jMockit 来模拟静态 final 字段 我的班级是: import org.slf4j.Logger;导入 org.slf4j.LoggerFactory;公共类 Class1 {私有静态最终记录器 LOGGER = Log
..
当我们序列化对象时,静态成员并没有被序列化,但是如果我们需要这样做,有什么办法吗? 解决方案 第一个问题是为什么需要序列化静态成员? 静态成员与类相关联,而不是与实例相关联,因此在序列化实例时包含它们是没有意义的. 第一个解决方案是让这些成员不是静态的.或者,如果这些成员在原始类和目标类中相同(相同的类,但可能不同的运行时环境),则根本不要序列化它们. 我对如何跨静态成员
..
要求 我想要一个从 constexpr 函数计算的 constexpr 值(即编译时常量).而且我希望这两个范围都在类的命名空间内,即静态方法和类的静态成员. 第一次尝试 我首先用(对我来说)显而易见的方式写了这个: class C1 {constexpr 静态 int foo(int x) { 返回 x + 1;}constexpr 静态 int bar = foo(size
..