C++ プログラミングガイド |
目次
 製品名の変更について
 はじめに
1.  Sun C++ コンパイラの紹介
- C++ 言語
- データの抽象化
- オブジェクト指向の特徴
- 型検査
- クラスとデータの抽象化
- C との互換性
2.  プログラムの構成
- ヘッダーファイル
- 言語に対する適合性のあるヘッダーファイル
- べき等なヘッダーファイル
- 自己完結するヘッダーファイル
- 不要なヘッダーファイルのインクルード
- インライン関数の定義
- 関数定義のインライン展開
- 関数定義取り込み型の構成
- テンプレート定義
- テンプレート定義取り込み型の構成
- テンプレート定義分離型の構成
3.  プラグマ
- プラグマの書式
- プラグマ一覧
- #pragma align
- #pragma init
- #pragma fini
- #pragma ident
- #pragma pack(n)
- #pragma unknown_control_flow
- #pragma weak
- #pragma weak name
- #pragma weak name1 = name2
4.  テンプレート
- 関数テンプレート
- 関数テンプレートの宣言
- 関数テンプレートの定義
- 関数テンプレートの使用
- クラステンプレート
- クラステンプレートの宣言
- クラステンプレートの定義
- クラステンプレートメンバーの定義
- クラステンプレートの使用
- テンプレートのインスタンス化
- テンプレートの暗黙的インタンス化
- 全クラスインスタンス化
- テンプレートの明示的インスタンス化
- テンプレートの編成
- デフォルトのテンプレートパラメータ
- テンプレートの特殊化
- テンプレートの特殊化宣言
- テンプレートの特殊化定義
- テンプレートの特殊化の使用とインスタンス化
- 部分特殊化
- テンプレートの問題
- 非局所型名前の解決とインスタンス化
- テンプレート引数としての局所型
- テンプレート関数のフレンド宣言
- テンプレート定義内での修飾名の使用
- テンプレート宣言の入れ子
5.  例外処理
- 例外処理とは
- 例外処理キーワードの使用
- try
- catch
- throw
- 例外ハンドラの実装
- 同期例外処理
- 非同期例外処理
- 制御の流れの管理
- try ブロックとハンドラからの分岐
- 例外の入れ子
- 送出する例外の指定
- 実行時のエラーの指定
- terminate() と unexpected() 関数の変更
- set_terminate()
- set_unexpected()
- uncaught_exception() 関数の呼び出し
- 例外とハンドラの一致
- 例外におけるアクセス制御の検査
- try ブロック内に関数を入れる
- 例外を無効にする
- 実行時関数と事前定義された例外の使用
- シグナルによる例外と setjmp/longjmp の混在
- 例外を含む共有ライブラリの作成
6.  実行時の型識別
- 静的な型と動的な型
- RTTI オプション
- typeid 演算子
- type_info クラス
7.  キャスト演算
- 新しいキャスト演算
- const キャスト
- 解釈を変更するキャスト
- 静的キャスト
- 動的キャスト
- 階層の上位にキャストする
- void* にキャストする
- 階層の下位または全体にキャストする
8.  パフォーマンス
- 一時オブジェクトの回避
- インライン関数の使用
- デフォルト演算子の使用
- 値クラスの使用
- クラスを直接渡す
- 各種のプロセッサでクラスを直接渡す
- メンバー変数のキャッシュ
9.  マルチスレッド化されたプログラム
- マルチスレッドプログラムの構築
- マルチスレッド対応コンパイルの確認
- スレッドとシグナルに対する C++ サポートライブラリの使用
- マルチスレッドプログラムでの例外の使用
- スレッド間での C++ 標準ライブラリオブジェクトの共有
 索引
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |