XE 向けに行われた C++Builder の変更点

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

Delphi XE および C++Builder XE の新機能 への移動


  • __property の拡張構文を利用すると、C++ でのインターフェイスの実装が簡単にできます:
    C++Builder には、新しい implements</wiki-bold> 属性を追加するための、__property キーワード用の拡張構文があります。 <wiki-bold>implements 属性を利用すると、継承を使用せずに TObject ベースのクラスにインターフェイスを実装できます。 __property implements を使用すると、C++Builder XE の ActiveX プロジェクトの ATL から DAX への移行が簡単になります。また、DAX によって提供される ActiveX ヘルパの使用が簡単になります。 「C++Builder XE における __property implements サポート」を参照してください。
  • VCL を使用する C++ アプリケーションで[_TCHAR のマップ先]オプションが[wchar_t]に設定されるようになりました:
    • VCL を使用する新規の C++ アプリケーション(VCL を使用する C++ コンソール アプリケーションを含む)では、[_TCHAR のマップ先]オプションが(これまでの)[char]ではなく[wchar_t]に自動的に設定されるようになりました。
    • また、これらのアプリケーションには、main にマップされる _tmain(...) エントリ ポイントが含まれていなければなりません。
    • これらの C++ アプリケーションは、自動的に適切なマップ関数を使用します。 「C++ アプリケーションの Unicode 対応」を参照してください。
    • System.UnicodeString.t_str 関数が、const char* ではなく const wchar_t* を返すようになりました。 また、t_str は非推奨になっています。
  • 右辺値参照の新しいルール:
    新しい右辺値参照ルールをサポートするようにコンパイラが変更されました。
    • C++ 仕様(作業ドキュメント)では、右辺値参照のバインディング規則が変更されました。 手短に言えば、右辺値参照は名前付き左辺値にはもうバインドできません(オーバーロード解決の場合を除きます。こちらの方は変更ありません)。
    右辺値参照(C++0x)」を参照してください。
  • 新しいヘッダー ファイル stdbool.h
    この C99 ヘッダー ファイルが、C++Builder の C ランタイム ライブラリに追加されました。 stdbool.h には、bool、true、false、__bool_true_false_are_defined などのブール値が定義されています。
  • BCC32.EXE の -Vbr オプションに対する新しい定義:
    C++ のコンパイラ オプション -Vbr は、非 const のバインディングだけでなく、すべての参照のバインディングに対する全般的な下位互換性スイッチになりました。 従って、-Vbr の定義は、
    "非 const 参照のバインディングを許可"
    から下記に変更されました。
    "Borland の古い参照バインディング規則を有効にする"
    C++ コマンドライン コンパイラ: BCC32」を参照してください。
  • CodeGuard エラーのヘルプが復活しました:
    特定の CodeGuard エラーについてヘルプを利用できるようになりました。 「CodeGuard エラー」を参照してください。
  • dllimport と dllexport への変更:
    テンプレート クラスに次のような __declspec(dllimport)__declspec(dllexport) が実装されました。
    • dllimport 修飾子は、インラインのテンプレート関数が(インラインまたは非インラインで)インスタンス化されるのを防止します。
    • dllexport 修飾子は、インライン関数を含むクラス全体をインスタンス化してエクスポートします。
  • C++ における Delphi RTTI の追加のサポート:
    __declspec キーワード拡張子が属性 delphirtti を用いて使用できます。 クラスが __declspec(delphirtti) にマークされている場合、コンパイラがそのパブリック メソッドの RTTI を生成します。 「__declspec(delphirtti)」を参照してください。

関連項目