类中的成员变量在哪里分配?

Jee*_*eva 1 c++

我有一堂课

class Sample
{
   string strName;
};
Run Code Online (Sandbox Code Playgroud)

如果我使用创建Sample *obj = new Sample()字符串的位置为示例创建一个对象strName?它在堆栈中还是在堆中?

Luc*_*ore 5

无处可去,因为Sample obj = new Sample()不会编译。

如果您的意思是Sample* obj = new Sample(),那么它在动态存储(堆)中。

当您调用 时delete obj,该字符串将被自动删除,即使它在堆上。