ログイン

2016年3月 弊社ホームページは新しくなりました。 https://thinkridge.com

メインメニュー

携帯公式サイト


携帯電話をもっと便利に
もっと楽しく


史上初の吹奏楽専門着メロサイト


POPで癒しでライトでとんがって気持ちのいい〜オルゴール着メロをあなたに

Magome

クラウドベースの MIDI シーケンサ Magome

音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています

for 携帯電話

https://thinkridge.com/m/
ケータイはこちらへ

2009年5月9日(土曜日)

STL auto_ptr のデバッグ豆知識

カテゴリー: - takatsuka @ 16時39分20秒

VisualC++2005,2008 限定です。

auto_ptr を使うと、生ポインタが隠蔽される為か、デバッガのウォッチ画面での確認が面倒になります。

auto_ptr

この例で言うと、ap をウォッチしてみても CSub という型までは知ることが出来ますが、CSub の中身を見ることが出来ません。

ここで諦めてしまうとこですが、auto_ptr のメンバ変数 _Myptr までを入力(この例で言うと「ap._Myptr」と)するとアラ不思議、CSub の中身まで見ることが出来ます。

というか、手動で入力せずとも普通に見れて欲しいとこです。次期 VisualStudio2010 で是非対応して欲しいです。

なお、仮想関数を持たない非ポリモーフィックなクラスでは面倒みてくれないようで表示されません。(これは納得できます。)
しかし、その場合でも手動でキャストすると表示されます。「(CSub*)ap._Myptr」とします。
型がわかっている場合にしか使えませんが、多少はラクになるかもです。

ちなみに boost::shared_ptr は特別なことしなくても、メンバ変数 px が何故か普通に見れます。

となると、何故 auto_ptr だけダメなのか、
難しい記述をしているのか?
マイクロソフトが VisualStudio2005、2008 で何かやらかしてしまったのか?
上位エディションだと実はちゃんと見れるとか!? (自分 Standard エディション使ってます。)
少し興味沸くところですが・・・ま、いいかなと。

以上。中途半端なネタですみません。


TrackBacks

このコメントのRSS

TrackBack URL : http://www.thinkridge.com/modules/wordpress/wp-trackback.php/89

この投稿には、まだコメントが付いていません

コメント

_CM_NOTICE

32 queries. 0.019 sec.
Powered by WordPress Module based on WordPress ME & WordPress

カレンダー
2009年 5月
« 4月   6月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  
月別過去ログ
カテゴリ一覧
検索
最近の投稿
最近のコメント
投稿者ブロック