Delphi データ型および言語概念のサポート
RAD Studio ライブラリに対する言語サポート(C++) への移動
RTL をサポートするため、C++Builder では、Object Pascal の大半のデータ型、構文要素、言語概念を実装、あるいは C++ 言語に変換またはマッピングしています。これは以下の方法で行われます。
- ネイティブ C++ 型への typedef
- クラス、構造体、クラス テンプレート
- 相当する C++ 言語機能
- マクロ
- ANSI 準拠の言語拡張機能となるキーワード
Object Pascal 言語のすべての側面が C++ にきれいに対応するわけではありません。時には、言語のこのような部分を使用した結果、アプリケーションが予期しない動作をするおそれもあります。以下はその例です。
- 一部の型は Object Pascal にも C++ にも存在しますが、両者の定義が異なります。これら 2 つの言語間でコードを共有する場合、これらの型には注意が必要です。
- Object Pascal には、C++Builder をサポートするために拡張機能がいくつか追加されています。時には、これらが相互運用に微妙な影響を及ぼすおそれがあります。
- C++ 言語にマッピングされない Object Pascal の型および言語構文要素は、これらの言語間でコードを共有する場合には、C++Builder で使用しないようにする必要があります。
このセクションでは、C++Builder で Object Pascal 言語をどう実装しているのかをまとめ、注意が必要な場合について説明します。
トピック
- typedef
- Object Pascal 言語をサポートしているクラス
- Object Pascal 言語機能に相当する C++ 言語機能
- オープン配列
- 別々に定義された型
- Delphi のインターフェイス
- リソース文字列
- デフォルト パラメータ
- 実行時型情報
- マッピングされない型
- C++ 拡張キーワード
- 拡張キーワード __declspec
- Delphi 型と C++ 型のマッピング
- Delphi 暗黙演算子としての C++ 代入演算子