У меня
class Foo {
....
}
Есть ли способ, чтобы Foo мог выделить:
function blah() {
Foo foo; // on the stack
}
и
function blah() {
Foo foo* = new Foo(); // on the heap
}
Я хочу, чтобы Foo мог делать разные вещи в зависимости от того, было ли оно выделено в стеке или куче.
Edit:
Alof людей спросил меня "зачем это делать?"
Ответ:
Сейчас я использую GC с подсчетом ссылок. Тем не менее, я хочу иметь возможность запускать отметку и прокручивать тоже. Для этого мне нужно пометить набор "корневых" указателей - это указатели на стек. Таким образом, для каждого класса я хотел бы знать, находятся ли они в стеке или в куче.