相关疑难解决方法(0)

C++类可以确定它是在堆栈还是堆上?

我有

class Foo {
....
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让Foo能够分开:

function blah() {
  Foo foo; // on the stack
}
Run Code Online (Sandbox Code Playgroud)

function blah() {
  Foo foo* = new Foo(); // on the heap
}
Run Code Online (Sandbox Code Playgroud)

我希望Foo能够做出不同的事情,这取决于它是在Stack上堆还是堆.

编辑:

Alof的人问我"为什么这样做?"

答案:

我现在正在使用重新计算的GC.但是,我希望能够运行标记和扫描.为此,我需要标记一组"根"指针 - 这些是堆栈上的指针.因此,对于每个类,我想知道它们是在堆栈中还是在堆中.

c++ heap stack

37
推荐指数
5
解决办法
1万
查看次数

标签 统计

c++ ×1

heap ×1

stack ×1