字符串是占16个字节的,一个字符是占一个字节的,所以问题就是超过16个字节的字符怎么存储
字符串内容小于16个字节,拿字符说,小于等于16个字符,就放变量内存
大于16个字节放Text段的cString(常量区),字符串的内存布局为字符串长度+字符串地址指针(并不是实际指针,需要进行运算)
如果是用append等方式拼接的字符串超过16个字节,就会开启堆空间,本地为字符串长度+堆空间地址指针,堆空间是类型信息(元类信息)+引用计数+实际内容,所以指针指向的内容也不是字符串,还要偏移
字符串是占16个字节的,一个字符是占一个字节的,所以问题就是超过16个字节的字符怎么存储
字符串内容小于16个字节,拿字符说,小于等于16个字符,就放变量内存
大于16个字节放Text段的cString(常量区),字符串的内存布局为字符串长度+字符串地址指针(并不是实际指针,需要进行运算)
如果是用append等方式拼接的字符串超过16个字节,就会开启堆空间,本地为字符串长度+堆空间地址指针,堆空间是类型信息(元类信息)+引用计数+实际内容,所以指针指向的内容也不是字符串,还要偏移