每个人都说在目标c中,所有对象都存储在堆中。
谁负责将对象存储在堆中,是编译器吗?
NSString * myName = @" xyz&#34 ;;
在上面的代码行中,在编译时创建了对象。为什么? @" xyz"存储在堆或堆栈中?
答案 0 :(得分:1)
静态数据(在编译时定义的数据)存储在二进制文件(可执行文件,库或框架)中。加载该二进制文件时,静态数据将与其一起加载到内存中。它不在堆或堆栈中。
包括Objective-C字符串文字,例如@"xyz"
。