Обнаружить динамически выделенный объект?C++

Программы на C++. Форум разработчиков
Anonymous
Обнаружить динамически выделенный объект?

Сообщение Anonymous »

Могу ли я проверить, является ли объект (передаваемый по указателю или ссылке) динамически выделенным?

Пример:

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

T t;
T* pt = new T();
is_tmp(&t); // false
is_tmp(pt); // true
Контекст

Я прекрасно понимаю, что это пахнет плохим дизайном, и на самом деле так оно и есть, но я пытаюсь расширить код, который не могу (или не должен) модифицировать (конечно, я виню в этом код, который не принадлежит мне ;)). Он вызывает метод (который я могу переопределить), который удалит переданный объект, среди прочего, применимого только к динамически выделяемым объектам. Теперь я хочу проверить, можно ли удалить что-тоd или это временное явление.

Я никогда не буду передавать глобальную (или статическую) переменную, поэтому оставляю ее здесь неопределенной.

Подробнее здесь: https://stackoverflow.com/questions/743 ... ted-object

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