Обнаружить динамически выделенный объект?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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