在 Visual Studio 中调试时的 Px、Pn

Chr*_*cer 2 c++ visual-studio

在 Visual Studio 中调试 C++ 时,如果将监视添加到对象上,您会看到“px”和“pn”作为其直接子对象。

我一直将“px”理解为指向实际对象的指针,但我很好奇这些“px”、“pn”和“pi”代码实际上是什么缩写?

dew*_*led 6

我想您看到的是boost::shared_ptr确实包含pxpn成员的实例内容:

element_type * px;                 // contained pointer
boost::detail::shared_count pn;    // reference counter
Run Code Online (Sandbox Code Playgroud)

因此,这些不是某种神奇的调试器变量,而是真正的类字段,您不会在常规对象中看到它们。