3

shared_ptrVS2013のデフォルトのビジュアライザーには次のものがあります (多くのものが削除されています!):

<Type Name="CA::shared_ptr&lt;*&gt;">
  <Expand>
    <Item Condition="_Ptr != 0" Name="[ptr]">_Ptr</Item>
  </Expand>
</Type>

これは、デバッガーで、ポイント先のオブジェクトのメンバーを表示するために「メンバー」をshared_ptr展開してから展開する必要があることを意味します。[ptr]int へのポインタの階層は次のようになります (生のビュー、アロケータ、およびデリータは無視します)。

myIntPtr
  [ptr]
    42

[ptr]ポイント先のオブジェクトのすべてのメンバーを 1 レベル上に配置して、現在位置する階層内のレベルに配置する置換を作成したいと思います。これは代わりに次のようになります。

myIntPtr
  42

それを可能にする構文はありますか?shared_ptr私は、テンプレート パラメーターのすべてのメンバーの表示をサポートするための一般的な構文を探していることに注意してくださいshared_ptr

4

1 に答える 1

3

これが「ExpandedItem」タグの良いところだと思います。彼らはあなたに似た例さえ挙げています。ここを参照してください: http://msdn.microsoft.com/en-us/library/jj620914.aspx#BKMK_ExpandedItem_expansion

于 2014-08-22T14:38:44.940 に答える