Mail: Pass:
前月  2008年5月  翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

links

 びびすけさんのページ
 体重・走距離分析
 月間・靴・コース走距離
 タイムトライアル分析
 速度・心拍数分析
 自転車・月間・コース走距離
 オセロ勝敗・レート分析
 ViVi web site

新着日記

 zLib
 ViVi 2.x リリースチェック時間統計
 趣味悠々
 ViVi version 3.0 M-2 進捗
 ViVi週間DL数
 ViVi 3.0 開発方針
 記録更新
 ViVi 2.04 (RC版) リリース
 本サイトのアクセス数統計
 ViVi version 3.0 マイルストーン…
 ViVi ver 3 マイルストーン1 進…
 フォント選択可能@V3
 ViVi version 3.0 タスクリスト・…
 CycleCollection in リファレンス…
 循環参照検出(cycle detect)
 循環参照によるメモリリーク (2)

新着コメント

 おお/びびすけ
 再放送/川瀬
 アップ/びびすけ
 あーー!/スパイダーマン
 放映/びびすけ
 どもども/びびすけ
 必見だぁ^^/oyaji_aoba
 おおー!/スパイダーマン
 補足/びびすけ
 HGP行書体/びびすけ

トラックバック

トラックバックはありません。

カテゴリ一覧

 基本データ
 テニス
 ジョギング
 ViVi
 自転車
 Web
 RunRunDietOnline
 PostgreSQL
 ビルドアップ走
 ランニング

CStringT (2008/05/01 15:46)

VC9 (VS2008) をつらつら見てたら、おいらのお気に入りの MFC の CString クラスが VC6 とはかなり変わっていることに気づいた。
CString は 下記の CStringT を特殊化したものとして定義されている。
template< typename BaseType, class StringTraits > class CStringT;

最初のタイプで文字コードを指定し、2つ目で特性を指定できるようだ。
んで、MFC の場合の実装はこれまでと同じようにポインタの直前に CStringData 構造体があり、参照カウントを使った実装になっている。
CStringData には IAtlStringMgr* pStringMgr; というメンバがあり、複数の管理オブジェクトを使用できるようになっている。
(異なる管理オブジェクトの文字列オブジェクトを代入した場合は、必ずディープコピーが行われる)

代入演算子は BaseType が同一な場合と、異なる場合の2つがあり、異なる場合は文字コード変換を行ってくれる。



コメント:

パス ← 半角英字で「abc」と入力してください。
名前
タイトル
コメント

( page views in recent 7 days)

パスワード忘れ
今週のランキング
計算タマちゃん
FAQ
ヘルプ
about rrdOnline