C++ Technical Documents
開発ノウハウの一部を公開します

開発者の方々にお役に立つテクニカルドキュメントです。Articles、References、Miscelaneousに分かれて説明しています。初心者の方からプロの方まで役に立つ読み物と資料集です。是非、開発のお役にお立て下さい。
Articles : 読み物
- C++の新しいキャスト
- 標準C++に追加された新しいキャストについて。
- 抽象データ型と Java/C++ そしてCOM/CORBA
- 抽象データ型の意味とJava/C++,COM/CORBAとの関係
- 時空を越えるオブジェクト
- シリアライズにまつわる様々なテクニック
- 時空を越えるオブジェクト part-2
- ObjectStore PSEを使ったオブジェクトの永続化
- オブジェクト指向とはなにか
- オブジェクト指向を知りたい初心者のあなたのために…
- 7つの電話番号簿
- STL,MFC,Tools.h++が提供する”辞書”の特徴 (Java版のおまけ付き)
- はじめてのDBTools.h++ (part-1)
- Rogue Wave DBTools.h++ 入門: 単一テーブルの操作
- はじめてのDBTools.h++ (part-2)
- Rogue Wave DBTools.h++ 入門: 複数テーブルの操作、その他
- はじめてのDBTools.h++ (part-3)
- Rogue Wave DBTools.h++ 入門: Open SQL (version 4.x 以降)
- はじめてのDBTools.h++ (part-4)
- Rogue Wave DBTools.h++ 入門: version 4.1 で可能になったJOINの入れ子
- コンテナの種類による計算量の相違
- 暗黙のうちに実行されるメソッドを計測する
- sizeofの不思議
- 「C++はCよりデカい」のか? その一因はここにある…
- Windows-API による文字列比較オブジェクト
- CompareString-API を使って複雑な文字列比較を行なう
- XMLを用いた状態遷移
- 状態遷移表をXMLで記述し、それを解析しながら駆動する試み
- XMLを用いた状態遷移 part-2
- 状態遷移表をXMLで記述し、それを解析してC++/Javaのコード生成を行なう
- CSVからXMLへ
- CSV(Comma Separated Value:カンマ区切りフォーマット)ファイルをXML(XSL,DTD)に変換する
- XMLを用いた永続オブジェクトの試み
- 時空を超えるオブジェクトをXMLで実現する
- 安定な優先順位付きキュー
- std::priority_queueでは要素の順序が安定でない。ではどうしたら…
- listに使える 3(+1)つの sort
- std::sort は list<T>をソートすることができない。list<T>をソートできるアルゴリズムの紹介。
- DBTools.h++/iPEXによるスキーマの読み出しとXML化
- データベースの各テーブルのスキーマを読み出し、XMLで出力する(XSLのおまけ付き)
- Xerces-CにICUを使わせるには
- IBM-ICUを使って様々なencodingで書かれたXMLに対応する
- データベースにコレクションを格納する
- Rogue WaveコレクションをRDBのカラムのひとつに押し込む方法
- 自己組織化検索
- 使えば使うほど速くなる摩訶不思議(?)な検索アルゴリズム
- 正規表現ライブラリ ‘Boost Regex++’ の使い方
- C++が苦手な文字列操作を強化する
- 自TestRunner自動生成 (for CppUnit 1.6.2)
- テストコードを食わせてテスト実行モジュールを吐かせる(ruby版のC++への移植)
- ハッシュは本当に速いのか?
- ハッシュによるsetの3種の実装について、そのスピードを検証する
- Handle-Bodyイディオム : 参照カウントによる実装
- boost::shared_ptrによるHandle-Bodyイディオムの実装
- C++ vs. Java (1)
-
C++とJava、それぞれのいいところ/わるいことろ :
多重継承 vs. 単一継承 - STLコンテナに起因するコード膨張の抑止
- templateが生成するコード量を抑えるヒント
- テンポラリ・バッファとしての std::vector の利用
- std::vectorをテンポラリバッファとして利用する
- オブジェクト指向設計の基本
- 抽象化・カプセル化・クラス階層
- Cによるオブジェクト指向’風’プログラミング
- 抽象データ型のCによる実現
- Refactoring C-code
- Cにおける リファクタリング・カタログ
- Java入門 : C++/C#/VB port
- Java入門(ISBN4-88135-351-9) 第三章のC++/C#/VB.net への移植
References : 資料集
- STL samples
- Standard Template Libraryのほとんどすべてを網羅したサンプル集
- おすすめ書籍リスト
- オブジェクト指向/Windows/C++ 関連書籍ガイド
- Tools.h++ ユーザガイド
- Rogue Wave 「Tools.h++ User’s guide」日本語訳
- STL in Tools.h++
- Tools.h++が提供するSTLコンパチなコンテナ(単方向リストとハッシュ表)の使い方
- slist<T, Alloc> リファレンス
- SGI版STLの単方向リンク・リスト: slist<T, Alloc> リファレンス
- 初期化されていないメモリへの記憶
- 標準C++ライブラリ :<memory> より
- STLport のハッシュ・コンテナ
- STLport が提供する ‘ハッシュ表によるコンテナ: hash_xxxx’ の使い方
Miscelaneous : 番外編
- Making of C++ Technical Documents
- STLを使ってソースコードをHTMLに変換する。
- COMからのイベントを捕まえる方法
- DDJ 1999.3で書けなかった”COMからのイベントを捕まえるエレガントな方法”の紹介。
- バイナリ/テキスト相互変換(BASE64とQuoted-printable)
- 電子メールでのバイナリファイル転送に使われているBase64/Quoted-printable変換モジュールを作る。
- SMC(State Map Compiler)の拡張
- C-Magazine 1999/9 で紹介したSMCの機能強化版。Javaコードも吐くぞ。
- STX : STL拡張パッケージ
- STLをもっと便利に使おうじゃないか!
- デバッグするとバグが出る?! : DLLにまつわる問題
- debug-modeでのみ起こるという摩訶不思議なバグに遭遇した…というお話
- C++/C#/VB.NET による リファクタリング – 最初の例
- マーチン・ファウラー著 「リファクタリング」第一章をC++/C#/VB.NET で書く
- CppUnit 導入ガイド
- C++版 UnitTestFramework ‘CppUnit’ 最初の一歩
- Mockpp 導入ガイド
- CppUnitの心強い相棒:Mockpp の使い方。
- CUnit 導入ガイド
- C版 UnitTestFramework ‘CUnit’ 最初の一歩