代码之家  ›  专栏  ›  技术社区  ›  willc2

我应该在obj-c中将所有基元数据类型初始化为“safe”值吗?

  •  2
  • willc2  · 技术社区  · 15 年前

    是否有任何不初始化的基元数据类型是安全的?

    像cgpoints或nsrects这样的结构如何?

    1 回复  |  直到 15 年前
        1
  •  7
  •   Louis Gerbarg    15 年前

    这取决于变量存储的位置。语言指定所有对象在alloc上都为零,这意味着所有的ivar都将被0填充。对于支持存储为0的任何基元类型来说,它是完全安全的。例如:

    @interface LGDemo : NSObject {
      CGPoint point;
      NSRect rect;
    }
    @end
    

    不显式初始化点或rect是完全安全的,分配对象后,它们将分别为0.0、0.0和0.0、0.0、0.0和0.0。