我有
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.但是,我希望能够运行标记和扫描.为此,我需要标记一组"根"指针 - 这些是堆栈上的指针.因此,对于每个类,我想知道它们是在堆栈中还是在堆中.