Tag: 初始化

获得一堆十字架初始化错误

我从下载的例子中得到这段代码: bool ChatServer::event(QEvent * event) { if(event->type() == QEvent::User) { UserEvent * ue = static_cast<UserEvent *>(event); switch(ue->userType) { case CR::ErrorEvent: case CR::LogEvent: { TraceEvent * te = static_cast<TraceEvent *>(ue); if(te->userType == CR::ErrorEvent) { error(te->msg); } else { log(te->msg); } } break; default: return false; } } else { return QTcpServer::event(event); } return true; } 现在如果编译程序,我得到这个错误: […]

初始化一个零数组

众所周知,缺less标量数组的初始化器默认为零。 int A[5]; // Entries remain uninitialized int B[5]= { 0 }; // All entries set to zero 但是这(下)保证? int C[5]= { }; // All entries set to zero

在C中声明和初始化数组

有没有办法先声明,然后在C初始化一个数组? 到目前为止,我一直在这样初始化一个数组: int myArray[SIZE] = {1,2,3,4….}; 但我需要做这样的事情 int myArray[SIZE]; myArray = {1,2,3,4….};

新的C ++ 11成员初始化特性是否在声明时使初始化列表过时了?

使用C ++ 11,我们现在可以在头文件声明中初始化类成员: class aClass { private: int mInt{100}; public: aClass(); ~aClass(); }; 所以我有点困惑。 传统上,构造函数中的初始化列表已被用于成员初始化: aClass::aClass() : mInt(100) { … } 新的C ++ 11成员初始化特性是否在声明时使初始化列表过时了? 如果不是的话,那么一个优于另一个呢? 什么情况会使声明初始化有利,或者初始化列表是否有利? 什么时候应该使用另一个?

dict()和{}有什么区别?

所以我们假设我想写一本字典。 我们会叫它d 。 但是在Python中有多种方式来初始化字典! 例如,我可以这样做: d = {'hash': 'bang', 'slash': 'dot'} 或者我可以这样做: d = dict(hash='bang', slash='dot') 或者,好奇地: d = dict({'hash': 'bang', 'slash': 'dot'}) 或这个: d = dict([['hash', 'bang'], ['slash', 'dot']]) 和dict()函数的其他许多方法。 所以显然dict()提供的一个东西是语法和初始化的灵活性。 但是这不是我所问的。 说我只是做一个空字典。 当我执行d = {}与d = dict()时候,Python解释器的幕后会发生什么? 这只是两种方式来做同样的事情吗? 使用{}是否有额外的dict()调用? 是否有(甚至可以忽略不计)更多的开销? 虽然这个问题实际上完全不重要,但我很乐意回答这个问题。

如何在Swift中为UIViewController子类创build自定义初始化程序?

如果之前已经问过这个问题,我已经search了很多东西,很多答案都是从早些时候的Swifttesting中发现的。 我似乎无法find明确的答案。 我想要UIViewController子类,并有一个自定义的初始化,以便我可以很容易地在代码中设置它。 我在Swift中遇到了麻烦。 我想要一个init()函数,我可以使用它来传递一个特定的NSURL然后使用视图控制器。 在我看来,它看起来像init(withImageURL: NSURL) 。 如果我添加该函数,然后要求我添加init(coder: NSCoder)函数。 我相信这是因为它在超类中使用required关键字进行标记? 所以我必须在子类中做到这一点? 我添加它: required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } 怎么办? 我的特殊初始化程序被认为是一个convenience吗? 指定的一个? 我是否要调用一个超级初始化程序? 来自同一个类的初始化器? 如何将我的特殊初始化程序添加到UIViewController子类?

DRYruby初始化与散列参数

我发现自己对构造函数使用散列参数相当多,特别是在编写用于configuration的DSL或最终用户将要暴露的其他API位时。 我最终做的是如下所示: class Example PROPERTIES = [:name, :age] PROPERTIES.each { |p| attr_reader p } def initialize(args) PROPERTIES.each do |p| self.instance_variable_set "@#{p}", args[p] if not args[p].nil? end end end 有没有更多的地道方式来实现这一目标? 抛出常量和符号到string的转换看起来特别exception。

多重构造函数:Pythonic的方式?

我有一个持有数据的容器类。 当容器被创build时,有不同的方法来传递数据。 传递一个包含数据的文件 直接通过parameter passing数据 不要传递数据; 只需创build一个空容器 在Java中,我会创build三个构造函数。 下面是Python中可能的样子: class Container: def __init__(self): self.timestamp = 0 self.data = [] self.metadata = {} def __init__(self, file): f = file.open() self.timestamp = f.get_timestamp() self.data = f.get_data() self.metadata = f.get_metadata() def __init__(self, timestamp, data, metadata): self.timestamp = timestamp self.data = data self.metadata = metadata 在Python中,我看到了三个明显的解决scheme,但都不是很漂亮: 答 :使用关键字参数: def […]

JUnit:使用构造函数而不是@Before

我正在使用JUnit 4.我看不到在构造函数中初始化或使用由@Before注释的专用init函数之间的@Before 。 这是否意味着我不必担心呢? 有没有什么情况下@Before不仅仅是在构造函数中进行初始化?

为什么string可以分配给char *指针,而不是char 数组?

有人可以解释为什么这与指针工作: char * str1; str1 = "Hello1"; str1 = "new string"; // but not this char str2 [] = "hello"; str2 = "four"; // or this char str3 []; str3 = "hello"; str3 = "hello";