initializer相关内容
所以我一直在刷牙我的Java技能,到目前为止,并发现了一些我以前不知道的功能。静态和实例初始化器是两种这样的技术。 我的问题是什么时候使用初始化器,而不是在构造函数中包含代码?我想到了几个明显的可能性: static / instance初始化器可以用来设置“final”静态/实例变量,而构造函数不能 静态初始化器可用于设置类中任何静态变量的值,在每个构造函数开始处的“if(so
..
当我尝试在 Swift 中创建 UIViewController 的实例时,所有继承的初始化器都不可用,甚至虽然我没有在视图控制器(或任何其他,FWIW)中定义任何指定的inits。 此外,如果我尝试显示它,控制器,它从不显示: func应用程序(应用程序:UIApplication,didFinishLaunchingWithOptions launchOptions:[NSObj
..
我想在Swift中启动一个基于Cocoa项目的新文档,并希望创建一个 NSWindowController 的子类(如Apple的指南中关于基于文档的应用程序所推荐的)。在ObjC中,您将创建一个发送 initWithWindowNibName:消息的 NSWindowController 子类的实例,超类方法。 在Swift init(windowNibName)只能作为方便初始化器, c
..
目前我有一些像这样的swift代码: class C { let type:Type; var num = 0; init(){ self.type = Type({(num:Int) - > Void in self.num = num; } } } Swift编译器拒绝允许它,在它被初始化之前引用了 self.type ,即使这显然是完全不真实
..
我有一个具有一些静态函数的帮助类。类中的所有函数都需要一个'重型'初始化函数来运行一次(就像它是一个构造函数一样)。 有没有一个很好的实现方法? / p> 我想到的唯一的事情是调用 init 函数,如果它已经运行一次使用静态 $ initialized var)。问题是我需要在每个类的函数上调用它。 解决方案 听起来像你会更好由单个而不是一堆静态方法 class Sin
..
初始化shared_ptr成员变量时: // .h class Customer { public: Customer(); private: std :: shared_ptr something_; } // .cpp Customer(): something_(new OtherClass()) { }
..
(我知道)在c ++中,可以 声明变量超出范围, IDEA 使用棘手代码是一个好主意,以便(例如)做一些 std :: map 操作? 这里我使用 void * fakeVar 通过 Fake :: initializer(),并做任何我想要的。 std :: map myMap; class Fake { publi
..
我在这里提出了一个问题:涉及非功能代码的 initializer_list返回的终身扩展: const auto foo = [](const auto& a,const auto& b,const auto& c){return {a,b,c }; }; 我相信lambda尝试返回 intializer_list (这是坏,不要这样做。)但我有一个评论:
..
您可以在for循环中定义相同类型的2个变量: int main(){ for(int i = 0,j = 0; i cout } } 但是定义不同类型的变量是非法的: int main(){ for(int i = 0,float j = 0.0; i cout
..
假设下面的代码是正确编译的合法代码, T 是类型名称, x 是变量的名称。 语法一: T a(x); 语法二: T a = x; 这两个表达式的确切语义是否不同?如果是,在什么情况下? 如果这两个表达式有不同的语义,我也很想知道标准的哪一部分谈论这个。 > 此外,如果有一个特殊情况,T是标量类型的名称(aka, int
..
我在c ++中有以下类定义: struct Foo { int x; char array [24]; short * y; }; class Bar { Bar(); int x; Foo foo; }; 并且想在初始化器中初始化“foo”struct(及其所有成员)的Bar类。可以这样做: Bar :: Bar() :fo
..
为什么这个C ++代码不能在VS2010下编译: for(int a = 0,short b = 0; a short b = 0; for(int a = 0; a
..
课程初始设定(C ++ 11功能)必须以卷曲形式大括号或遵循a =符号。 这是什么原因? 解决方案 div> 我不是100%积极的这一点,但这可能是为了防止语法歧义。例如,考虑以下类: class BadTimes { struct Overloaded; int重载; //法律,但一个很奇怪的想法。 int confusing(Overloaded); //
..
我有一个脑筋痉挛...如何在C ++中正确初始化一个对象数组? 非数组示例: struct Foo {Foo(int x){/ * ... * /}}; struct Bar { Foo foo; Bar():foo(4){} } 数组示例: struct Foo {Foo(int x){/ * ... * /}}; struc
..
我想有一个具有私有静态数据成员的类(一个包含所有字符a-z的向量)。在java或C#中,我可以创建一个“静态构造函数”,它将在我创建类的任何实例之前运行,并设置类的静态数据成员。它只运行一次(因为变量是只读的,只需要设置一次),因为它是类的一个函数,它可以访问它的私有成员。我可以在构造函数中添加代码,以检查向量是否已初始化,如果没有初始化,则初始化它,但引入了许多必要的检查,并且看起来不是问题的最
..
说我有这个C#类 公共类MyClass的{ int类型的; INT [] B =新INT [6]; } 现在说我使用反射发现这个类在注视领域,我觉得其中一人是数组类型(如:b) 的foreach(字段信息字段信息在classType.GetFields()) { 如果(fieldInfo.FieldType.IsArray) { INT ARRAYSI
..
要使用这样的初始化语法: VAR接触=新ContactList { {“丹“,”dan.tao@email.com“}, {”埃里克“,”ceo@google.com“} }; ......我的理解是,我的 ContactList
..
我有上有一个静态工厂方法的类。我想打电话给厂里来检索类的实例,然后再做额外的初始化,通过C#的对象初始化语法preferablly: MyClass的实例= MyClass.FactoryCreate() { someProperty = someValue中; } VS MyClass的实例= MyClass.FactoryCreate(); i
..
下面是两种不同的方法来初始化静态只读域。有两种方法之间的差异?如果是的话,应该何时之一pferred比其他$ P $? A级 { 私人静态只读字符串的connectionString = WebConfigurationManager.ConnectionStrings [“SomeConnection”]的ConnectionString。 }B类 { 私人静态只读字符串的c
..
我一直在学习如何使用EF一个星期左右,现在和我被困在创建/更新我的数据库的问题。我可以创造一个初始化创建数据库,如果它不存在: 静态类节目 { 静态无效的主要() { Database.SetInitializer&所述; GumpDatabase>(新GumpDatabaseInitializer()); ....类GumpDatabaseInitiali
..