Я хочу знать, указывает ли указатель на кусок памяти, выделенный с помощью malloc/new. Я понимаю, что ответ на произвольный адрес "Нет, вы не можете", но я думаю, что можно переопределить malloc/free и отслеживать выделенные диапазоны памяти.
Знаете ли вы библиотеку управления памятью, предоставляющую этот конкретный инструмент?
Вы знаете что-то для производственного кода?
Valgrind отлично, но это слишком много инструментов (медленно), и, как сказал Уилл, мы не хотим использовать Valgrind как это (сделать мягкий крушение достаточно хорошим).
Mudflap является очень хорошим решением, но посвященным GCC, и, к сожалению, проверка не просто возвращает логическое значение (см. мой ответ ниже).
Обратите внимание, что проверка правильности записи в памяти является проблемой безопасности . Поэтому поиск производительности мотивирован.