【发布时间】:2014-05-08 16:17:18
【问题描述】:
VS2013 中shared_ptr 的默认可视化工具有这个(很多很多东西都被剪掉了!):
<Type Name="CA::shared_ptr<*>">
<Expand>
<Item Condition="_Ptr != 0" Name="[ptr]">_Ptr</Item>
</Expand>
</Type>
这意味着在调试器中您必须展开 shared_ptr 然后展开 [ptr] 'member' 以查看指向对象的成员。指向 int 的指针的层次结构看起来像(忽略原始视图、分配器和删除器):
myIntPtr
[ptr]
42
我想写一个替换,将所有指向对象的成员放在一个级别上,以位于 [ptr] 当前所在的层次结构中的级别。相反,它看起来像:
myIntPtr
42
是否有一些语法允许这样做?我应该注意,我正在寻找支持显示所有模板参数成员的通用语法,而不是仅适用于 shared_ptr 的语法 - shared_ptr 只是一个方便的示例。
【问题讨论】: