*为什么Objective-C中的所有对象都在堆中而不是在堆栈中分配?
如果我们使用Objective-C和C ++进行编程怎么样?
答案 0 :(得分:3)
目前尚不清楚你在问什么。
如果您询问NSString* str = @"hello";
之类的内容,那么您在链接到的问题中就会回答这个问题。
为什么没有堆?没有意义。 iOS应用程序中有很多堆,并且从中分配了对象。
你提到的“帖子”中提到的“自动对象”和/或auto_ptr
与Objective-C完全无关。
请澄清你的问题。
答案 1 :(得分:1)
所有对象C对象都应该在堆栈中分配? (我想是的)
否。正如您的问题中的引文所说,“Objective-C运行时不允许在堆栈上实例化对象”
在C ++中,有内存堆栈,所以对于iOS应用程序,还有堆栈吗? (我想是的)
是的,Objective-C中有一个堆栈。对象根本就没有在那里分配。
答案 2 :(得分:0)
为了更好地理解NSString文字,请参阅以下主题:What does assigning a literal string to an NSString with "=" actually do?