Ed *_*rty 4 c static const const-correctness objective-c
我仍然不确定我是否完全了解这个特殊情况应如何解决.因此,如果我想声明一个不会改变的NSStrings数组,这是正确的吗?
static NSString * const strings[] = {@"String 1", @"String 2", ...};
Run Code Online (Sandbox Code Playgroud)
有static必要吗?(它做了什么?)我错过了一个额外的const地方吗?这里有太多的地方了!尔加!我做错了,还是我只是偏执狂?
你有什么:
static NSString * const strings[] = {@"String 1", @"String 2", ...};
Run Code Online (Sandbox Code Playgroud)
是一组不可变指针.
你可能想要:
static NSString const *strings[] = {@"String 1", @"String 2", ...};
Run Code Online (Sandbox Code Playgroud)
指向不可变NSString对象的指针数组.
要么
static NSString const * const strings[] = {@"String 1", @"String 2", ...};
Run Code Online (Sandbox Code Playgroud)
一组不可变NSString对象的不可变指针.
在"顺时针螺旋规则"是我用它来解读C声明的技术.
的static关键字意味着数组的"贮存期"是该程序的整个生命.如果声明在函数中,那么当函数返回时,数组不会消失(尽管范围仍然只适用于该函数).如果声明位于文件范围,则static关键字将使该数组的名称仅在该编译单元内可见(即,源文件).另一个源文件无法通过extern声明访问该数组.
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |