Скорее всего, цена исходит из атомарного уменьшения числа ссылок, которое довольно дорого по сравнению, скажем, с целочисленными присваиваниями, и может привести к кешу (или быть очень экстремальным, страница) промах / сбой, и бытьв атомарном операторе также могут возникать такие вещи, как недопустимость строк кэша.
Однако уничтожение необработанного указателя - это запрет, так что я не совсем уверен, что вы ожидали от слабого_птр, но это физически невозможноона может предложить ту же цену разрушения, если он предлагает какой-либо семантика уничтожения.
1004 * Равным образом, это более чем возможно, что вы утончаетесь перенапрягаете их.Указатели, обеспечивающие соблюдение прав собственности, не являются «серебряной пулей» - вам все равно нужно подумать о том, кому принадлежит объект.Широкомасштабное использование слабого указателя подсказывает мне, что вы на самом деле не продумали свою семантику владения.
Наконец, есть реализация shared_ptr и weak_ptr в MSVC 2008, в пространстве имен std :: tr1,Вы можете попробовать это.