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

Программы на C++. Форум разработчиков
Anonymous
Может ли класс C++ определить, находится ли он в стеке или в куче?

Сообщение Anonymous »

У меня

Код: Выделить всё

class Foo {
....
}
Есть ли способ отделить Foo:

Код: Выделить всё

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

Код: Выделить всё

function blah() {
Foo foo* = new Foo(); // on the heap
}
Я хочу, чтобы Foo мог делать разные вещи в зависимости от того, расположен ли он в стеке или в куче.

Изменить:

Многие люди спрашивали меня: «Зачем это делать?»

Ответ:< /p>

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

Подробнее здесь: https://stackoverflow.com/questions/205 ... ck-or-heap

Вернуться в «C++»