美文网首页
指针与引用的坑

指针与引用的坑

作者: 风___________ | 来源:发表于2019-12-25 15:39 被阅读0次
+ (void)load{
    [self test];
    NSLog(@"====分界线====");
    [[[ViewController alloc] init] test];
}

+ (void)test{
    NSString *s = @"aaa";
    NSLog(@"%@,%p",s,s);
    [self change:&s];
    NSLog(@"%@,%p",s,s);
}
+ (void)change:(NSString **)s{
    NSLog(@"%@,%p",*s,*s);
    *s = @"bbb";
    NSLog(@"%@,%p",*s,*s);
}

- (void)test{
    NSMutableString *s = @"aaa".mutableCopy;
    NSLog(@"%@,%p",s,s);
    [self change:s];
    NSLog(@"%@,%p",s,s);
}
- (void)change:(NSMutableString *)s{
    NSLog(@"%@,%p",s,s);
    [s appendString:@"bbb"];
    NSLog(@"%@,%p",s,s);
}
ViewController.m:30 aaa,0x104707548
ViewController.m:35 aaa,0x104707548
ViewController.m:37 bbb,0x104707588
ViewController.m:32 bbb,0x104707588
ViewController.m:24 ====分界线====
ViewController.m:42 aaa,0x2834cca80
ViewController.m:47 aaa,0x2834cca80
ViewController.m:49 aaabbb,0x2834cca80
ViewController.m:44 aaabbb,0x2834cca80

相关文章

  • 指针与引用的坑

  • C++基本问题——指针与引用的区别

    指针与引用的区别 指针可以是空指针,但是引用不能是空引用。这就导致下面一个区别。 指针可能是非法的,引用总是合法的...

  • C++基础

    C++ 值传递、指针传递、引用传递详解C++中引用传递与指针传递区别 引用传递和指针传递的区别 引用的规则:(1)...

  • C++复合类型总结(指针)

    引用是变量的别名,指针就是变量地址的别名。 与引用类似,指针也实现了对其他对象的间接访问。然而指针与引用又有很多不...

  • Rust for cpp devs - 智能指针

    与 cpp 类似,Rust 也有智能指针。Rust 中的智能指针与引用最大的不同是,智能指针 own 内存,而引用...

  • 指针与引用

    指针是一个变量,存储另外一个变量的地址,指向一个内存存储单元。引用实质上与原变量是同一东西,只是变量的一个别名。 ...

  • 引用与指针

    指针是一个实体,而引用仅是个别名; 引用使用时无需解引用(*),指针需要解引用; 引用只能在定义时被初始化一次,之...

  • 指针与引用

    指针 指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元。 引用 引用跟原来的变量实质上是同一...

  • 指针与引用

    引用和指针非常相似,它们都用来让一个变量提供对另一个变量的访问。 引用 需要从类型和传递两个角度分别看待引用。 从...

  • 指针与++以及指针与引用

    2.指针与引用的差别 第一、非空区别:在任何情况下都不能使用指向空值的引用,一个引用必须总是指向某些对象。因此如果...

网友评论

      本文标题:指针与引用的坑

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