initializer相关内容

如何在 C++ 类的初始化列表中初始化成员结构?

我在 C++ 中有以下类定义: struct Foo {整数 x;字符数组[24];短* y;};类栏{酒吧();整数 x;福福;}; 并希望在 Bar 类的初始化程序中将“foo"结构(及其所有成员)初始化为零.可以这样做吗: Bar::Bar(): foo(),x(8) {} ...? 或者 foo(x) 在初始化列表中到底做了什么? 或者结构体是否甚至从编译器自动初始化为 ..
发布时间:2021-12-23 17:27:34 C/C++开发

空的初始化列表是有效的 C 代码吗?

通常使用 {0} 来初始化 struct 或 array 但考虑第一个字段不是标量类型.如果 struct Person 的第一个字段是另一个 struct 或数组,那么这一行会导致错误(error: missing brass around initializer). struct Person person = {0}; 至少 GCC 允许我使用一个空的初始化列表来完成同样的事情 str ..
发布时间:2021-12-18 22:35:19 其他开发

在 Swift 和 init(windowNibName) 中继承 NSWindowController

我正在尝试在 Swift 中启动一个新的基于文档的 Cocoa 项目,并且想要创建一个 NSWindowController 的子类(如 Apple 的基于文档的应用程序指南中所推荐).在 ObjC 中,您将创建一个 NSWindowController 子类的实例,发送 initWithWindowNibName: 消息,该消息相应地实现,调用超类方法. 在 Swift 中 init(wi ..
发布时间:2021-12-17 23:23:33 移动开发

有没有办法在 for 循环初始值设定项中定义两种不同类型的变量?

您可以在 for 循环中定义 2 个相同类型的变量: int main() {for (int i = 0, j = 0; i 但是定义不同类型的变量是非法的: int main() {for (int i = 0, float j = 0.0; i 有没有办法做到这一点?(我不需要在循环内使用 i,只需使用 j.) 如果您有完全被黑和晦涩的解决方案,那对我来说没问题. 在 ..
发布时间:2021-12-11 13:08:23 C/C++开发

我可以在 for 循环的初始化中声明不同类型的变量吗?

为什么这段 C++ 代码在 VS2010 下无法编译: for ( int a = 0, short b = 0; a 虽然这个是: short b = 0;for ( int a = 0; a 是否禁止在for循环初始化器中声明两个不同类型的变量?如果是这样,您如何解决它? 解决方案 是的,这是被禁止的.就像否则你不能在一个声明语句中声明不同类型的变量一样(编辑:以@MrLi ..
发布时间:2021-12-11 12:30:19 C/C++开发

在 Ruby 中,'new' 和 'initialize' 之间的关系是什么?初始化时如何返回nil?

我想要的是: obj = Foo.new(0) # =>零或假 这不起作用: class Foo定义初始化(val)如果 val == 0 则返回 nil结尾结尾 我知道在 C/C++/Java/C# 中,我们不能在构造函数中返回值. 但我想知道在 Ruby 中是否可行. 解决方案 在 Ruby 中,'new' 和 'initialize' 之间的关系是什么? ne ..
发布时间:2021-12-03 09:58:47 其他开发

为什么类内初始化器只能使用 = 或 {}?

类内初始化器(C++11 特性)必须用 curl 括起来大括号或跟随一个 = 符号.它们不能在括号内指定. 这是什么原因? 解决方案 我对此并不是 100% 肯定,但这可能是为了防止语法歧义.例如,考虑以下类: class BadTimes {结构重载;int 重载;//合法,但是一个非常奇怪的想法.int 混淆(重载);// ..
发布时间:2021-12-01 15:41:22 C/C++开发

Java 中初始化器与构造器的使用

所以我最近一直在复习我的 Java 技能,并且发现了一些我以前不知道的功能.静态和实例初始化器就是两种这样的技术. 我的问题是什么时候会使用初始化程序而不是将代码包含在构造函数中?我已经想到了几个明显的可能性: 静态/实例初始化器可用于设置“最终"静态/实例变量的值,而构造函数不能 静态初始化器可用于设置类中任何静态变量的值,这应该比在开始时使用“if (someStaticVa ..

字符数组初始化困境

考虑以下代码: //hacky,因为“123"是 4 个字符长(包括终止 0)字符符号[3] = "123";//干净,但打字很多字符符号[3] = {'1', '2', '3'}; 所以,twist 实际上是在代码的注释中描述的,有没有办法用字符串文字初始化 char[] 而不终止零? 更新:似乎 IntelliSense 确实是错误的,此行为在 C 标准中明确定义. 解决方案 ..
发布时间:2021-11-18 03:51:13 其他开发

UITextView 的指定初始化器

当我在 Xcode 6 Beta 中创建 UITextView 的新子类时,会自动提供以下代码. 导入 UIKit类终端视图:UITextView {初始化(框架:CGRect){super.init(框架:框架)//初始化代码}} 之前的代码(完全由 Xcode 提供,没有删除任何内容)给出了以下错误. 必须调用超类'UITextView'的指定初始化器 据我所知,为 UIVie ..
发布时间:2021-09-13 19:59:20 移动开发

将 UIGestureRecognizer 初始化为 Swift 中属性定义的一部分?

我想初始化一个 UIPanGestureRecognizer 作为 UIViewController 的属性定义的一部分,这样我就不必将它声明为可选的(因为我会如果初始化仅发生在 viewDidLoad 中). 以下两次尝试都在编译时失败(我使用的是最新版本的 Xcode): -- 第一次尝试类测试控制器:UIViewController {让 panGestureRecognizer: ..
发布时间:2021-09-12 20:16:59 移动开发

您可以“扩展"(即添加额外的初始化逻辑)为 Codable 对象自动生成的构造函数吗?

当您在对象上实现 Codable 时,编译器可以自动为您生成构造函数.但是,只有当您自己没有编写接受解码器的初始化程序时,它才会这样做. 也就是说,我们有一个对象有大约 50 个 let 属性,这些属性是从解码器设置的,但我们还有五个基于这些 let 属性的计算属性. 从技术上讲,如果我们可以在初始化程序中计算它们,在解码器设置其他 50 个之后,我们可以简单地将结果存储在它们自己的 ..
发布时间:2021-09-02 18:52:04 其他开发

什么是 C 中的指定初始值设定项?

我知道这可能是一个基本问题. 我有一项任务要求我了解 C 中的指定初始值设定项是什么以及用 1 来初始化变量意味着什么. 我不熟悉这个术语,也找不到任何决定性的定义. 什么是 C 中的指定初始值设定项? 解决方案 指定的初始化器有两种风格: 1) 它提供了一种初始化数组中特定元素的快速方法: int foo[10] = { [3] = 1, [5] = 2 }; ..
发布时间:2021-08-31 19:05:24 其他开发

Twitter 集成 Rails 4 应用程序

我正在尝试使用这个 gem 将 twitter 提要集成到我的 Rails 4 应用程序中.> 我已阅读 github 页面上的文档,但在尝试使用我认为的方法时遇到了问题. 我在名为 twitter_init.rb 的初始化文件中有以下内容(带有我的身份验证信息): client = Twitter::Streaming::Client.new do |config|config.con ..
发布时间:2021-07-12 20:40:10 其他开发