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