static相关内容

什么时候方法应该是静态的?

另外,静态方法相对于实例方法有什么性能优势吗? 我最近遇到了以下问题:http://www.cafeaulait.org/course/week4/22.html : 什么时候方法应该是静态的? 既不读取也不写入实例字段 独立于对象的状态 接受参数的数学方法,将算法应用于那些参数,并返回一个值 代替构造函数的工厂方法 我对 Stack Overflow 社区对此的反馈 ..
发布时间:2022-01-05 20:12:14 其他开发

为什么选择静态类而不是单例实现?

静态对比.单例问题之前在 SO 中已经讨论过很多次了. 然而,所有的答案都指出了单例的许多优点. 我的问题是 - 静态类与单例相比有什么优势?为什么不每次都简单地选择一个单身人士? 解决方案 静态类是您盒子中的技术工具 - 基本上是一种语言功能. Singleton 是一种架构概念. 您可以使用静态类作为实现单例概念的一种方式.或者您可以使用其他方法. 如果您不小心, ..
发布时间:2022-01-05 20:12:05 C#/.NET

ANSI-C 中的静态是什么意思

可能的重复: 什么是“静态"?在 C 程序中是什么意思? static 关键字在 C 中是什么意思? 我使用的是 ANSI-C.我在几个代码示例中看到,它们在变量和函数前使用 static 关键字.与变量一起使用的目的是什么?和函数一起使用的目的是什么? 解决方案 简单回答一下,static关键字在定义变量时有两种用法: 1- 使用 static 关键字在文件范围内定义 ..
发布时间:2022-01-05 20:11:56 其他开发

将静态 libcurl 添加到 Code::Blocks IDE

我不知道如何将静态 libcurl 库正确添加到我的 Code::Blocks IDE.我希望它是静态的,因为在我的程序运行期间不需要 Windows 中默认不包含的 .dll 文件.我正在使用这个 libcurl:http://curl.haxx.se/dlwiz/?type=lib&os=Win32&flav=-(没有 OpenSSL 的 minGW) 这是我的全局编译器设置:http: ..
发布时间:2022-01-05 20:11:48 C/C++开发

C++ 静态成员变量初始化线程安全吗?

根据以下资源,在 C++(特别是 Visual C++)范围内的静态变量初始化不是线程安全的.但是,全局静态变量是安全的. 没有互斥的线程安全静态变量? http://blogs.msdn.com/oldnewthing/存档/2004/03/08/85901.aspx 那么,以下带有静态成员变量的代码是线程安全的吗? class TestClass{上市:静态 MyClass ..
发布时间:2022-01-05 20:11:33 C/C++开发

C++中只有静态方法的类的优点

即使 C++ 中没有静态类,来自 Java 背景,我用来创建一个像 Util 这样只包含静态方法的辅助类.这被认为是糟糕的风格还是通常的做法?我看到的一种替代方法是使用 C 函数(根本没有类上下文).还有哪些其他选择?有什么优点和缺点,在什么情况下我会使用这些. 在 C++ 中定义一堆静态方法 建议对静态函数进行命名空间作为一种替代方法,虽然我没有看到没有类上下文的 static 关键字有什 ..
发布时间:2022-01-05 20:11:19 C/C++开发

何时将静态函数定义放在 C 的头文件中?

我在头文件中遇到了一些具有大型静态函数的代码,我很好奇何时可以/不可以这样做.例如,如果许多 .c 文件包含标题,为什么不定义非静态函数并将其链接到? 关于何时/何时不将静态函数定义放在 C 中的头文件中的任何建议或经验法则将不胜感激, 谢谢 解决方案 一些想法: 我能想到的一种可能的合法用途是,当您希望在不创建具有外部链接的符号并污染外部命名空间的情况下使函数可用时.( ..
发布时间:2022-01-05 20:11:10 其他开发

C++,静态 vs. 命名空间 vs. 单例

我已经在网上阅读了很多帖子和文章,但我找不到一个明确的答案. 我有一些具有类似目的的函数,我想在全局范围之外使用它们.其中一些需要是公开的,其他的应该是私有的(因为它们只是“公共"函数的辅助函数).此外,我不仅有函数,还有变量.只有“私有"辅助函数需要它们,而且它们也应该是私有的. 现在有三种方式: 创建一个所有东西都是静态的类(相反:潜在的“不能在没有对象的情况下调用成员函数" ..
发布时间:2022-01-05 20:11:01 C/C++开发

为什么静态字段初始化失败导致NoClassDefFoundError?

这是一个有趣的java问题. 以下简单的java程序包含由静态方法初始化的静态字段.实际上,我强制计算初始化值的方法引发 NullPointException,当我访问这样的静态字段时,将引发 NoClassDefFoundError.看来VM 对待Class 是不完整的. 但是当我访问该类时,它仍然可用; 有人知道为什么吗? class TestClass {公共静态测试类实 ..
发布时间:2022-01-05 20:10:51 Java开发

为什么 C# 不像 C 那样支持局部静态变量?

为什么 C# 没有像 C 那样的局部静态变量?我想念那个!! 解决方案 您可以使用委托来模拟它...这是我的示例代码: public Func增量(){int num = 0;return new Func(() =>{返回数字++;});} 你可以这样称呼它: Funcinc = 增量();公司(); ..
发布时间:2022-01-05 20:10:44 C#/.NET

命名空间中的静态变量与非静态变量

我有一个命名空间 foo,其中包含一个整数 bar,声明为... foo.h: 命名空间 foo {国际酒吧;} 现在,如果我只在一个文件中包含 foo.h,这工作得很好.但是当我从两个或多个文件中包含 foo.h 时出现问题:我收到链接器错误.我发现如果我将 bar 声明为 static,我可以在多个文件中包含 foo.h.这对我来说似乎很奇怪,因为我不知道可以在命名空间内声明一个静态 ..
发布时间:2022-01-05 20:10:36 C/C++开发

iphone上Objective C中的静态字符串变量

如何创建 &访问 iPhone 中的静态字符串(目标 c)?我在 A 类中声明了 static NSString *str = @"OldValue". 如果我在 B 类中为这个赋值为 str = @"NewValue".该值对于 B 类中的所有方法都存在.但是如果我在 C 类中访问它(在 B 中赋值之后),我将它作为 OldValue 获取.我错过了什么吗?我应该在其他课程中使用 exte ..
发布时间:2022-01-05 20:10:30 移动开发

如何使用 PowerMock 模拟返回 void 的静态方法?

我的项目中有一些静态 util 方法,其中一些只是传递或抛出异常.有很多关于如何模拟具有除 void 之外的返回类型的静态方法的示例.但是,我如何模拟一个将 void 返回到“doNothing()"的静态方法? 非空版本使用以下代码行: @PrepareForTest(StaticResource.class) ... PowerMockito.mockStatic(StaticRe ..
发布时间:2022-01-05 20:10:20 其他开发

我什么时候应该在非成员函数之前写关键字“static"?

我最近在 SO 上看到了一些关于函数前 static 关键字的内容,我想知道如何正确使用它. 1) 什么时候应该在非成员函数前写关键字static? 2) 在标头中定义静态非成员函数是否危险?为什么(不是)? (辅助问题) 3) 是否可以以某种方式在头文件中定义一个类,以便它只能在您首先使用它的翻译单元中可用? (我问这个的原因是因为我正在学习 STL,它可能是我的谓 ..
发布时间:2022-01-05 20:10:08 C/C++开发

静态常量和常量有什么区别?

static const 和 const 有什么区别?例如: static const int a=5;const int i=5; 它们之间有什么区别吗?你什么时候会使用一个? 解决方案 区别在于联动. //在文件范围内静态常量 int a=5;//内部链接const int i=5;//外部链接 如果 i 对象未在定义它的翻译单元之外使用,则应使用 static 说明符声明它. ..
发布时间:2022-01-05 20:09:58 其他开发

C++ - 为什么不能使用“const"限定符创建静态成员函数

今天我遇到了一个问题.我需要一个 static 成员函数,const 不是必须的,而是更好的.但是,我的努力没有成功.有人能说出原因或方式吗? 解决方案 当您将 const 限定符应用于非静态成员函数时,它会影响 this 指针.对于 C 类的 const 限定成员函数,this 指针的类型是 C const*,而对于不是const 限定,this 指针的类型为 C*. 静态成员函数 ..
发布时间:2022-01-05 20:09:48 C/C++开发

C和C++中静态变量初始化的区别

我正在http://geeksforgeeks.org/?p=10302 #includeint 初始值设定项(无效){返回 50;}int main(){静态 int i = 初始化程序();printf("i 的值 = %d", i);获取字符();返回0;} 此代码不会在 C 中编译,因为需要在 main() 启动之前初始化静态变量.没事儿.但是这段代码在 C++ 编译器中可以很好地编译 ..
发布时间:2022-01-05 20:09:26 C/C++开发

在 Java 中何时使用静态变量/方法以及何时使用实例变量/方法?

我想问一个问题,什么时候使用静态变量/方法或在其他情况下使用 Java 中的实例变量/方法有好处? 我知道这取决于特定情况(例如将实用程序类编程为静态方法),但我们可以声明一些类似通用策略的内容吗? 解决方案 在新手层面: 在以下情况下使用实例变量:对于不同的对象,每个变量都有不同的值.例如.学生姓名,卷号等. 在以下情况下使用静态变量:变量的值与对象无关(不是每个对象唯 ..
发布时间:2022-01-05 20:08:58 Java开发