objective-c – 静态指针是强指针吗?

前端之家收集整理的这篇文章主要介绍了objective-c – 静态指针是强指针吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在目标c中,我知道静态变量(应该?)在程序的生存期内保留其值.但是如果它存储一个指针,它在ARC中是否很强?我可以依赖它,并确保在将它分配给静态变量后,该实例永远不会出现在堆中?
static ClassA* shared;

-(id)init
{
   if (self=[super init]) {
       shared=self;
   }
   return self;
}

解决方法

是的,一旦分配了它就可以依靠它.

Transitioning to ARC Release Notes状态:

Under ARC,strong is the default for object types.

接着:

__strong is the default. An object remains “alive” as long as there is a strong pointer to it.

给定静态指针引用对象,它将保持“活着”.指针的范围(无论是全局的,堆栈上的指针还是实例变量)都没有区别.

猜你在找的C&C++相关文章