美文网首页
iOS中NSString *const 和const NSStr

iOS中NSString *const 和const NSStr

作者: 男人宫 | 来源:发表于2021-11-05 14:53 被阅读0次
       NSString *const str1 = @"你好";
        //str1 = @"hello"; //报错,不能重新赋值
        //解析:const在NSString *后面.后面的值不能改变,是一个常量.和其它语言(如js)的const a = 10,效果一样.a就不能变化了
        const NSString * str2 = @"你好";
        NSLog(@"%p",&str2); //0x7ffeea646100 str2在栈区的内存地址
        NSLog(@"%p",str2); //0x100f33020 //坑里放的值,其实就字符串对象的地址
        str2 = @"hello";
        NSLog(@"%p",&str2);//0x7ffeea646100 str2在栈区的内存地址
        NSLog(@"%p",str2);//0x100f33060
        //解析:const放在最前面修饰,指的是该变量的的的值,即本身在栈中的内存地址不变即可.至于里面存的值则是可以变化的
        //重点理解:自身的内存地址和指向的内存地址
    

    相关文章

      网友评论

          本文标题:iOS中NSString *const 和const NSStr

          本文链接:https://www.haomeiwen.com/subject/qfjrzltx.html