日期:2014-05-16  浏览次数:20423 次

String类型是没有固定大小的原始类型?
在《JavaScript高级程序设计》第17页

原话是“String类型的独特之处在于,它是唯一没有固定大小的原始类型。”

String原始类型不是存储在栈中的吗?那不是应该是固定大小的?

谁能给出代码证明一下,String原始类型是可变的

------解决方案--------------------
string不可变,不同的字符串通过不同的指针引用来使用。
------解决方案--------------------
这话的意思是 在语法层面 string可以初始化为任意长度的字符串 这跟存储在堆中或者是栈中没有关系
如果你觉得因为可能造成栈溢出而认为string长度有限制 那存储在堆中也是可能溢出的 毕竟内存是有限的
如果你觉得栈中的类型一定得有长度限制 那也是不对的 c++中任意类的实例都可以存储在栈中 难道c++中对类实例的大小有限制?