我有
class Foo {
....
}
有没有一种方法让Foo能够分离出:function blah() {
Foo foo; // on the stack
}
并且
function blah() {
Foo foo* = new Foo(); // on the heap
}
我希望根据Foo对象是在堆上还是栈上分别实现不同的功能。
编辑:
很多人问我“为什么这样做?”
答案是:
我现在正在使用引用计数的GC。但是,我也想能够运行标记和清除算法。为此,我需要标记一组“根”指针--这些指针位于堆栈上。因此,对于每个类,我想知道它们是在堆上还是在栈上。