我一直在读RAII和单相与两相构造/初始化.无论出于何种原因,我直到最近一直处于两阶段阵营,因为在某些时候我一定听说过在构造函数中执行容易出错的操作是不好的.但是,我认为我现在确信单相是可取的,基于我在SO和其他文章中读过的问题.
我的问题是:为什么Objective C几乎专门为非便利构造函数使用两阶段方法(alloc/init)?这种语言有什么特定的原因,还是只是设计师的设计决定?
constructor initialization objective-c
constructor ×1
initialization ×1
objective-c ×1