在objective-c或其他任何适用的语言中?
我想我真正想问的是,__weakconst在分类上是不是相同的?当我谈论__weakconst等时,我可以交换术语类型和生存期限定符吗?

最佳答案

在C语言中,类型限定符将质量(属性、属性)附加到给定的类型。有三种类型限定符:const(只读,无写)、volatile(无缓存)和restrict(无别名)。
自动引用计数(对于objective-c)添加了四个新类型限定符:__autoreleasing__strong__unsafe_unretained__weak。由于ARC的性质,即自动化内存管理——这四种类型限定符附加了与所有权相关的属性。
我想问的是,在分类方面,__weakconst是否相同?
它们都是类型限定符,但只有__weak是所有权限定符。
当我谈论__weakconst等时,我可以交换术语类型和生存期限定符吗?
不,它们不能互换。上面列出的所有限定符都是类型限定符,但只有arc引入的四个限定符也是所有权限定符。
注意,AA>使用面额所有权限定符,而the LLVM project似乎使用终身限定符代替。

10-08 03:02