黑马程序员技术交流社区
标题:
objective-C 中为什么 const 变量的值可以被修?
[打印本页]
作者:
zhaozigeng
时间:
2014-12-28 12:55
标题:
objective-C 中为什么 const 变量的值可以被修?
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
const NSString *foo = @"aaa";
foo = @"bbb";
if ([foo isEqualToString:@"aaaT"]) {
NSLog(@"%@", foo);
}
NSLog(@"%@", foo);
return 0;
}
复制代码
为什么 const 修饰的变量竟然可以修改且不报错,
作者:
从今以后
时间:
2014-12-28 13:29
NSString * const foo = @"aaa"; 这是修饰foo的指向不可变,const NSString *foo = @"aaa"; 这是修饰@"aaa"不可变
作者:
kenloo
时间:
2014-12-28 14:41
关于这点,"彻底搞定C指针"里面有很详细的解释
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2