マッピングされない型

提供: RAD Studio
移動先: 案内検索

Delphi データ型および言語概念のサポート への移動


6 バイトの Real 型

Object Pascal の従来の 6 バイト浮動小数点形式は、現在は Real48 といいます。

従来の Real 型は、現在は double です。C++ には、Real48 型に相当する型はありません。そのため、この型を含む Object Pascal コードを、C++ コードと一緒に使用しないでください。一緒に使用した場合、ヘッダー ファイル ジェネレータが警告を出力します。

関数の戻り値型としての配列

Object Pascal の関数では、引数や戻り値の型として配列を使用できます。たとえば、80 個の文字の配列を返す GetLine 関数の構文は次のようになります。

type 
  Line_Data = array [0..79] of char;
function  GetLine: Line_Data;

C++Builder では、StaticArray という構造体が導入されています。同じ関数を次のように宣言することができます。

StaticArray<char, 80>GetLine();

C++ 言語仕様では、配列を戻り値型(または引数)として使うことを認めていません。1 つの回避策として、配列を構造体またはクラスにカプセル化し、その構造体またはクラスを戻り値型または引数の型に使うという方法があります。そのような構造体が既に RAD Studio ライブラリで定義されています。「StaticArray」を参照してください。これは、Delphi の静的配列組み込み型の C++Builder 版です。StaticArray 変数の要素の型と数は、テンプレート パラメータとして指定する必要があります。

メモ: 関数や手続きの間でサイズの大きい配列を値渡しすると、パフォーマンスが低下する可能性があります。配列は参照(またはポインタ)渡しすることを検討してください。

メモ: C++ では、配列型のプロパティは問題ではありません(Object Pascal でも有効です)。Get メソッドがパラメータにインデックス値を取り、Set メソッドがその配列に含まれる型のオブジェクトを返すからです。「配列プロパティの作成」を参照してください。

関連項目