Может ли класс C ++ определить, находится ли он в стеке или в куче?

у меня есть

class Foo {
....
}

Есть ли способ у Foo выделить:

function blah() {
  Foo foo; // on the stack
}

а также

function blah() {
  Foo foo* = new Foo(); // on the heap
}

Я хочу, чтобы Foo мог делать разные вещи в зависимости от того, находится ли он в стеке или куче.

Редактировать:

Все люди спрашивали меня "зачем это делать?"

Ответ:

Я использую рефконт GC прямо сейчас. Тем не менее, я хочу иметь возможность бегать и метать тоже. Для этого мне нужно пометить набор «корневых» указателей - это указатели в стеке. Таким образом, для каждого класса я хотел бы знать, находятся ли они в стеке или в куче.

Ответы на вопрос(15)

Ваш ответ на вопрос