static-members相关内容
我在 VS2010 中有静态库 (.lib) 并将其链接到我的测试项目. 该库有一个我使用以下宏创建的工厂: #define REGISTER_FACTORY(mType, my_class) \类工厂##my_class : 公共 CAbstractFactory\{\上市:\工厂##my_class() : CAbstractFactory(mType){}\CBaseClass *创
..
考虑这个示例代码: template字符寄存器_(){返回 D::get_dummy();//静态函数}模板结构 Foo{静态字符常量虚拟;};模板char const Foo::dummy = register_();结构体: Foo{静态字符 const get_dummy() { 返回 42;}}; (也在 Ideone 上.) 我希望 dummy 在有 Foo 的具体实
..
对于静态成员初始化,我使用嵌套的帮助器结构,它适用于非模板化类.但是,如果封闭类由模板参数化,则如果在主代码中未访问辅助对象,则不会实例化嵌套的初始化类.为了说明,一个简化的例子(在我的例子中,我需要初始化一个向量). #include #include 结构A{结构体初始化助手{初始化助手(){A::mA = "你好,我是 A.";}};静态 std::string 毫安;静态 InitHel
..
我想在我的班级中有一个 static const char 数组.GCC 抱怨并告诉我应该使用 constexpr,尽管现在它告诉我这是一个未定义的引用.如果我将数组设为非成员,则它会编译.这是怎么回事? //.hpp结构 foo {空栏();静态 constexpr char baz[] = "quz";};//.cppvoid foo::bar() {std::string str(baz)
..
假设你有一堂课, class Foo{公共静电吧;} 当你说: new Foo(); 我可以想象在内存中,为这个对象保留了一个空间. ...当你再说一遍: new Foo(); ...好吧,现在您有另一个空间可用于该对象. 然而,静态字段究竟位于何处? 我真正想学习的是: 对对象的引用如何引用它们引用的对象的相同字段? 解决方案 虽然类型系统的确切细节取
..
类基{上市:基地a;}; 它会导致编译错误. 类基{上市:静态基地a;}; 而此代码不会给出编译错误 解决方案 因为 static 类成员没有存储在类实例中,这就是 static 可以工作的原因. 将一个对象存储在另一个相同类型的对象中会破坏运行时 - 无限大,对吧? sizeof 会返回什么?编译器需要知道对象的大小,但是因为它包含了同类型的对象,所以没有意义.
..
在 PHP 5 中,使用 const 和 static 有什么区别? 什么时候合适?public、protected 和 private 扮演什么角色 - 如果有的话? 解决方案 在类的上下文中,静态变量位于类范围(而不是对象)范围内,但与 const 不同的是,它们的值可以更改. class ClassName {静态 $my_var = 10;/* 默认为 public 除非另
..
我正在尝试将以下 Objective-C 代码转换为 Swift.在我的 Objective-C 代码中,有一个静态变量,它是从一个类方法中访问的. @implementation SomeClass静态 NSMutableArray *_items;+ (void)someMethod {[_items removeAll];}@结尾 由于您无法从 Swift 中的类函数访问这样声明的类型
..
在 C++ 中初始化私有静态数据成员的最佳方法是什么?我在头文件中尝试过这个,但它给了我奇怪的链接器错误: class foo{私人的:静态 int i;};int foo::i = 0; 我猜这是因为我无法从类外部初始化私有成员.那么最好的方法是什么? 解决方案 类声明应该在头文件中(如果不共享则在源文件中). 文件:foo.h class foo{私人的:静态 int i;};
..
我正在创建事件搜索应用程序,我们从一个屏幕设置搜索条件并填充到另一个屏幕,然后用户可以从第 3 个屏幕编辑搜索条件并转到第 4 个屏幕. 为了完成上述任务,我使用了静态对象,它记住了应用程序周围的值,我不需要做任何额外的事情. 但我担心如果内存不足,android 中的静态对象生命周期是否会被 android 删除静态对象??? 由于android支持多任务,如果用户切换到另一个
..
class OuterClass {类内部类{静态 int i = 100;//编译错误static void f() { }//编译错误}} 虽然无法使用 OuterClass.InnerClass.i 访问静态字段,但如果我想记录一些应该是静态的内容,例如创建的 InnerClass 对象的数量,使该字段成为静态会很有帮助.那么为什么Java禁止在内部类中使用静态字段/方法? 编辑:我
..
给定一个仅在程序设置中使用的假设实用程序类: class MyUtils {私有静态 MyObject myObject = new MyObject();/*package*/static boolean doStuff(Params... params) {//用 myObject 和 params 做一些事情...}} 当 myObject 不再被使用时,它会被垃圾回收,还是会在程序的生
..
我有以下课程 import java.util.ArrayList;导入 java.util.List;公共类 TestStaticArrayList {公共静态列表numberList = new ArrayList();公共静态列表getArrayValues(){返回编号列表;}公共静态无效populateArray(){numberList.add("1");numberList.add
..
我的代码是 Arduinoish.我打开了详细编译,所以我可以验证所有 .o 文件确实正确传递给链接器,它们是(下面的链接器命令).这让我相信这是某种语法错误. 谷歌搜索错误“undefined reference to in function"会产生很多结果,例如“像这样将 foo.o 添加到你的链接器命令"等. 我希望解决方案就像缺少点或 -> 某处一样简单. 我在一个文件中
..
我发现自己往往没有私有类函数.如果可能的话,所有候选私有类函数而不是我放入未命名的命名空间并将所有必要的信息作为函数参数传递.我没有一个合理的解释为什么我要这样做,但至少对我来说看起来更自然.因此,我需要在头文件中公开较少的内部细节. 您有什么看法 - 这是正确的做法吗? 解决方案 在我通常工作的半大型项目中(超过 200 万行代码),如果可以,我会禁止私有类函数.原因是私有类函数是
..
我正在开发一个基于实体的组件系统,我正在尝试为组件类型分配一个特定的索引: static std::size_t getNextTypeId() {静态 std::size_t lastTypeIdBitIdx{0};++lastTypeIdBitIdx;//这一行在问题结束时产生输出std::cout
..
上周有人向我指出了一段这样的代码: #include 命名空间 NSTest{单例类{民众:静态 SingletonClass &获取实例(){静态 pthread_mutex_t 互斥锁;pthread_mutex_lock(&mutex);如果(singletonPtr==nullptr){创建实例();}返回 (*singletonPtr);pthread_mutex_unlock(&mu
..
我有几行可以在我的系统上很好地编译,但不能在同事系统上编译.这就是为什么我想问这个问题的首选解决方案是什么样的.我必须处理一个 enum,它隐含地定义了我必须为 std::array 提供多少空间.代码的其他部分也使用 FooSize 是静态的.(优化) 我目前的实现是这样的 enum class FooType{短福,龙福};//定义在不同的文件中模板 类
..
我正在使用 vc++(2010).我正在尝试为服务器端套接字创建一个类.这是头文件 #include#include#include使用命名空间标准;类 AcceptSocket{//静态 SOCKET s;受保护:SOCKET 接受套接字;民众:AcceptSocket(){};void setSocket(SOCKET 套接字);静态无效建立连接(int portNo,string&);静态
..
在下面的代码中,我假设成员变量 mBar 只会在第一次构造 Foo 对象时实例化......并且这个 mBar 实例化将与所有未来的 Foo 对象共享,但 Bar() 构造函数将不会再次被调用.这准确吗? 公共类 Foo {私有静态 Bar mBar = new Bar();公共 Foo() {} 解决方案 该对象实际上可能在创建第一个 Foo 之前以 WAY 的方式构造.当 Classlo
..