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