Я рассматриваю вопрос об использовании boost::ptr_container
в результате ответов от на этот вопрос .Моя самая большая проблема с библиотекой заключается в том, что я не могу просмотреть содержимое коллекции в отладчике, потому что отладчик MSVC не распознает его, и, следовательно, я не могу видеть содержимое контейнеров.(Все данные хранятся как void *
для внутреннего использования)
Я слышал, что в MSVC есть функция под названием «визуализаторы отладчика», которая позволяет пользователю сделать отладчик более умным в таких вещах, но яЯ никогда не писал ничего подобного, и я не очень разбираюсь в таких вещах.
Например, сравните поведение boost::shared_ptr
с собственным std::tr1::shared_ptr
MSVC.В отладчике (т. Е. В окне Watch) улучшенная версия отображается в виде большого беспорядка внутренних переменных, используемых для реализации общего указателя, но версия MSVC отображается в виде простого указателя на объект (и shared_ptr
's внутренности скрыты).
Как мне начать использовать или реализовывать такую вещь?