【问题标题】:When do variables' values get defined?什么时候定义变量的值?
【发布时间】:2013-07-11 08:00:49
【问题描述】:
    NSString *string1 = @"string one";
    NSString *string2 = @"string two";
    NSString *string3 = [string1 stringByAppendingString:string2 ];

对于当前版本的Xcode,使用上面的sn-p,每个string1、string2、string3是在编译时还是运行时定义的?

【问题讨论】:

    标签: objective-c xcode runtime clang compile-time


    【解决方案1】:

    您在编译时定义内存中的字符串(对于 string1 和 string2)。

    string1、string2 和 string3 将在运行时指向该内存,当它们各自的指令正在执行时。

    【讨论】:

    • 您的回答仅在我看来是正确的。我只选择了另一个,因为它是第一个。谢谢。
    【解决方案2】:

    为变量本身分配空间的代码(如果编译器确实认为有必要这样做)将在编译时生成并在运行时执行。这两个常量字符串也将在编译时创建,类似于常量 C 字符串。消息发送直到运行时才会执行。

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 2018-01-03
      • 2023-02-07
      • 1970-01-01
      • 2021-10-08
      • 2011-04-04
      • 1970-01-01
      • 2014-10-06
      • 2019-06-25
      相关资源
      最近更新 更多