JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: C++ ユーザーズガイド     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I C++ コンパイラ

1.  C++ コンパイラの紹介

2.  C++ コンパイラの使用方法

3.  C++ コンパイラオプションの使い方

パート II C++ プログラムの作成

4.  言語拡張

5.  プログラムの編成

6.  テンプレートの作成と使用

7.  テンプレートのコンパイル

8.  例外処理

9.  プログラムパフォーマンスの改善

10.  マルチスレッドプログラムの構築

パート III ライブラリ

11.  ライブラリの使用

12.  C++ 標準ライブラリの使用

13.  従来の iostream ライブラリの使用

14.  ライブラリの構築

パート IV 付録

A.  C++ コンパイラオプション

B.  プラグマ

用語集

索引

用語集

ABI

「アプリケーションバイナリインタフェース」を参照。

ANSI C

ANSI (米国規格協会) による C プログラミング言語の定義。ISO (国際標準化機構) 定義と同じです。「ISO」を参照。

ANSI/ISO C++

米国規格協会と国際標準化機構が共同で作成した C++ プログラミング言語の標準。「ISO」を参照。

cfront

C++ を C ソースコードに変換する C++ から C へのコンパイルプログラム。変換後の C ソースコードは、標準の C コンパイラでコンパイルできます。

ELF ファイル

ELF は Executable and Linking Format の略語で、コンパイラによって生成されるファイル。

ISO

国際標準化機構。

K&R C

Brian Kernighan と Dennis Ritchie によって開発された、ANSI C 以前の事実上の C プログラミング言語標準。

VTABLE

仮想関数を持つクラスごとにコンパイラが作成するテーブル。

アプリケーションバイナリインタフェース

コンパイルされたアプリケーションとそのアプリケーションが動作するオペレーティングシステム間のバイナリシステムインタフェース。

インクリメンタルリンカー

変更された .o ファイルだけを古い実行可能ファイルにリンクして新しい実行可能ファイルを作成するリンカー。

インスタンス化

C++ コンパイラが、テンプレートから使用可能な関数やオブジェクト (インスタンス) を生成する処理。

インスタンス変数

特定のオブジェクトに関連付けられたデータ項目。クラスの各インスタンスは、クラス内で定義されたインスタンス変数の独自のコピーを持っています。フィールドとも呼びます。「クラス変数」も参照。

インライン関数

関数呼び出しを実際の関数コードに置き換える関数。

右辺値

代入演算子の右辺にある変数。右辺値は読み取れますが、変更はできません。

演算子の多重定義

同じ演算子表記を異なる種類の計算に使用できること。関数の多重定義の特殊な形式の 1 つです。

オプション

「コンパイラオプション」を参照。

シンボルをどのように使用するかを記述したもの。基本型は integerfloat です。ほかのすべての型は、これらの基本型を配列や構造体にしたり、ポインタ属性や定数属性などの修飾子を加えることによって作成されます。

関数の多相性

「関数の多重定義」参照。

関数の多重定義

扱う引数の型と個数が異なる複数の関数に、同じ名前を与えること。関数の多相性ともいいます。

関数のテンプレート

ある関数を作成し、それをひな型として関連する関数を作成するための仕組み。

関数プロトタイプ

関数とプログラムの残りの部分とのインタフェースを記述する宣言。

キーワード

プログラミング言語で固有の意味を持ち、その言語において特殊な文脈だけで使用可能な単語。

局所変数

ブロック内のコードからはアクセスできるが、ブロック外のコードからはアクセスできないデータ項目。たとえば、メソッド内で定義された変数は局所変数であり、メソッドの外からは使用できません。

クラス

名前が付いた一連のデータ要素 (型が異なっていてもよい) と、そのデータを処理する一連の演算からなるユーザーの定義するデータ型。

クラステンプレート

一連のクラスや関連するデータ型を記述したテンプレート。

クラス変数

クラスの特定のインスタンスではなく、特定のクラス全体を対象として関連付けられたデータ項目。クラス変数はクラス定義中に定義されます。静的フィールドとも呼びます。「インスタンス変数」も参照。

継承

プログラマが既存のクラス (基底クラス) から新しいクラス (派生クラス) を派生させることを可能にするオブジェクト指向プログラミングの機能。継承の種類には、公開、限定公開、および非公開があります。

コンストラクタ

クラスオブジェクトを作成するときにコンパイラによって自動的に呼び出される特別なクラスメンバー関数。これによって、オブジェクトのインスタンス変数が初期化されます。コンストラクタの名前は、それが属するクラスの名前と同じでなければなりません。「デストラクタ」を参照。

コンパイラオプション

コンパイラの動作を変更するためにコンパイラに与える命令。たとえば、-g オプションを指定すると、デバッガ用のデータが生成されます。同義語: フラグスイッチ

最適化

コンパイラが生成するオブジェクトコードの効率を良くする処理のこと。

サブルーチン

関数のこと。Fortran では、値を返さない関数を指します。

左辺値

変数のデータ値が格納されているメモリーの場所を表す式。あるいは、代入演算子の左辺にある変数のインスタンス。

事後束縛

「動的束縛」を参照。

事前束縛

「静的束縛」を参照。

実行時型識別機構 (RTTI)

プログラムが実行時にオブジェクトの型を識別できるようにする標準的な方法を提供する仕組み。

実行時束縛

「動的束縛」を参照。

シンボル

何らかのプログラムエントリを示す名前やラベル。

シンボルテーブル

プログラムのコンパイルで検出されたすべての識別子と、それらのプログラム中の位置と属性からなるリスト。コンパイラは、このテーブルを使って識別子の使い方を判断します。

スイッチ

「コンパイラオプション」を参照。

スコープ

あるアクションまたは定義が適用される範囲。

スタック

あと入れ先出し法によってデータをスタック のいちばん上にのみ追加、またはいちばん上からのみ削除できるデータ記憶方式。

スタブ

オブジェクトコードに生成されるシンボルテーブルのエントリ。デバッグ情報を含む a.out ファイルと ELF ファイルには同じ形式のスタブが使用されます。

静的束縛

関数呼び出しと関数本体をコンパイル時に結び付けること。事前束縛とも呼びます。

束縛

関数呼び出しを特定の関数定義に関連付けること。一般的には、名前を特定のエントリに関連付けることを指します。

多相性

ポインタや参照が、自分自身の宣言された型とは異なる動的な型を持つオブジェクトを参照できること。

多重継承

複数の基底クラスから 1 つの派生クラスを直接継承すること。

多重定義

複数の関数や演算子に同じ名前を指定すること。

抽象クラス

1 つまたは複数の抽象メソッドを持つクラス。したがって、抽象クラスはインスタンス化できません。抽象クラスは、ほかのクラスが抽象クラスを拡張し、その抽象メソッドを実装することで具体化されることを目的として、定義されています。

抽象メソッド

実装を持たないメソッド。

データ型

文字、整数、浮動小数点数などを表現するための仕組み。変数に割り当てられる記憶域とその変数に対してどのような演算が実行可能かは、この型によって決まります。

データメンバー

クラスの要素であるデータ。関数や型定義と区別してこのように呼ばれます。

デストラクタ

クラスオブジェクトを破棄したり、演算子 delete をクラスポインタに適用したときにコンパイラによって自動的に呼び出される特別なクラスメンバー関数。デストラクタの名前は、それが属するクラスの名前と同じで、かつ、名前の前にチルド (~) が必要です。「コンストラクタ」を参照。

テンプレートオプションファイル

テンプレートのコンパイル用オプションやソースの位置などの情報が含まれている、ユーザーが用意するファイル。テンプレートオプションファイルの使用は推奨されていないため、使用すべきではありません。

テンプレートデータベース

プログラムが必要とするテンプレートの処理とインスタンス化に必要なすべての構成ファイルを含むディレクトリ。

テンプレートの特殊化

デフォルトのインスタンス化では型を適切に処理できないときに、このデフォルトを置き換える、クラステンプレートメンバー関数の特殊インスタンス。

動的キャスト

ポインタや参照の型を、宣言されたものから、それが参照する動的な型と矛盾しない任意の型に安全に変換するための方法。

動的束縛

関数呼び出しと関数本体を実行時に結び付けること。これは、仮想関数に対してのみ行われます。事後束縛または実行時束縛とも呼ばれます。

動的な型

ポインタや参照でアクセスするオブジェクトの実際の型。この型は、宣言された型と異なることがあります。

トラップ

ほかの処置をとるためにプログラムの実行などの処置を遮ること。これによって、マイクロプロセッサの演算が一時的に中断され、プログラム制御がほかのソースに渡されます。

名前空間

大域空間を一意の名前を持つスコープに分割して、大域的な名前のスコープを制御する仕組み。

名前の符号化

C++ では多くの関数が同じ名前を持つことがあるため、名前だけでは関数を区別できません。コンパイラは、関数名とパラメータの組み合わせで構成される一意の名前を各関数について作成すること、つまり名前の符号化によってこの問題を解決します。この方法によって、型保証されたリンケージが可能になります。「名前修飾」とも呼びます。

バイナリ互換

あるリリースのコンパイラでコンパイルしたオブジェクトファイルを別のリリースのコンパイラを使用してリンクできること。

配列

同じデータ型の値をメモリーに連続して格納するデータ構造。各値にアクセスするには、配列内のそれぞれの値の位置を指定します。

符号化する

「名前の符号化」を参照。

フラグ

「コンパイラオプション」を参照。

プラグマ

コンパイラに特定の処置を指示するコンパイラのプリプロセッサ命令、または特別な注釈。

べき等

ヘッダーファイルの属性。ヘッダーファイルを 1 つの翻訳単位に何回インクルードしても、一度インクルードした場合と同じ効果を持つこと。

変数

識別子で命名されているデータ項目。各変数は intvoid などの型とスコープを持っています。「クラス変数」、「インスタンス変数」、「局所変数」も参照。

マルチスレッド

シングルまたはマルチプロセッサシステムで並列アプリケーションの開発を可能にするソフトウェア技術。

メソッド

一部のオブジェクト指向言語でメンバー関数の代わりに使用される用語。

メンバー関数

クラスの要素である関数。データ定義や型定義と区別されます。

リンカー

オブジェクトコードとライブラリを結び付けて、完全な実行可能プログラムを作成するツール。

例外

プログラムの通常の流れの中で起こる、プログラムの継続を妨げるエラー。たとえば、メモリーの不足やゼロ除算などを指します。

例外処理

エラーの捕捉と防止を行うためのエラー回復処理。具体的には、プログラムの実行中にエラーが検出されると、あらかじめ登録されている例外ハンドラにプログラムの制御が戻り、エラーを含むコードは実行されなくなることを指します。

例外ハンドラ

エラーを処理するために作成されたコード。ハンドラは、対象とする例外が起こると自動的に呼び出されます。

ロケール

地理的な領域または言語に固有な一連の規約。日付、時刻、通貨単位などの形式。

基底クラス

継承
」を参照。

派生クラス

継承
」を参照。