第10回エンバカデロ・デベロッパーキャンプの資料がダウンロードできるようになりました

第10回エンバカデロ・デベロッパーキャンプの資料がダウンロードできるようになりました。

興味のあるところを斜め読み。

追加されたC++0x機能
* Strongly typed enumerations
* Explicit Conversion Operators
* static assertions
* Type trait functions
* alignof operator on types
* extern templates
* Variadic templates
* Rvalue references
* decltype
* New Unicode char types (char16_t and char32_t)
* Attributes – noreturn and final
* nullptr … ×(NULLの代わりですが、今回は実装されませんでした…)

C++ Builder次期バージョン”2009″活用法

C++0xは知らないことがたくさん。
勉強するぞ。

強く型付けされたEnum
* enum class 列挙型名 { …. };

明示的なキャスト演算子
* explicit operator XXX(){ … }

静的なアサーションによるチェック
* static_assert (constant-expression, error-message);

型特性を判定する関数
* bool __is_XXXX(typename T, …)
* bool __has_YYYY(typename T, …)

C++ Builder次期バージョン”2009″活用法

知らないなぁ。
知識をアップデートしていかないと。

Quiz: マイグレーションとイベントハンドラ
* 旧C++Builderで作成したプロジェクトを、C++Builder 2009 にインポートしました。
* TStringGridを配置して、OnSetEditTextイベントを使用しています
* 日本語/中国語混じりの文字列を入力してみます
* C++Builder 2009 でビルド & 実行しようとすると、どうなる?
 1. コンパイルエラーが発生する
 2. ビルドは成功するが、実行時にエラー/例外が発生する
 3. 日本語は正しく表示されるが、中国語が ? に化ける
 4. フォント設定にも依るが、基本的に正しく表示される

C++ Builder次期バージョン”2009″活用法

気になっていた部分ですが、資料を見ただけではよくわかりませんでした。
説明が欲しいところ。

プリコンパイル済みヘッダーウィザード
* デフォルトで pch1.h を生成し、ビルド時に暗黙のうちにincludeされます
* #pragma hdrstop の上部は変更する必要なし

C++ Builder次期バージョン”2009″活用法

C++BuilderのIDEの新機能の一つ。

国際化支援機能 – ITE/ETM
* C++Builder2006,C++Builder2007で消された
* ITE(Integrated Translation Environment)
* ETM(External Translation Manager)がC++Builder2009で復活しました!!
* 製品のインストール時に、英語版(English)を選択すると
* VCL/RTLのシステムメッセージを、デフォルトで英語にすることも可能

C++ Builder次期バージョン”2009″活用法

いつの間にかなくなっていた国際化支援機能が復活。
開発手順のデモは見たかった。

Tips: C++Builderでリソース文字列
* .RCではなく、リソース文字列を XXXX.pas で定義する
* VCLのLoadResourceString関数を利用する
* ITE/ETMでも認識され、ローカライズ可能

C++ Builder次期バージョン”2009″活用法

リソース文字列を.pasファイルに書けるとは知りませんでした。
新機能?
ファイルの管理が楽になります。

Delphi言語の強化
* UnicodeStringをデフォルト文字列として採用
* ジェネリックス
* 無名メソッド

CodeGearプロダクトアップデート

Delphiも言語機能が強化されました。
こないだまでは時代遅れの言語だったのに。
かなり使える言語になりましたね。

C++Builder 2009の新機能
* 言語とライブラリの強化
* 次世代C++標準「C++0x」の言語機能をコンパイラ・IDEの双方で早期にサポート
* Decltypeキーワード
* Explicit conversion operators
* Externテンプレート
* rvalue リファレンスを伴うMove Semantics
* Scoped Enumerations
* ネイティブType Traitsを伴うStatic Assertions
* Unicode文字型 char16_t および char32_t
* [[final]] および [[noreturn]] 属性
* Delphiとの互換性強化
* 仮想クラスメソッド
* スタティックプロパティ
* UnicodeString クラス
* 仮想メソッドToString、GetHashCode、Equalsを新たに持つTObject
* ANSI/ISO 標準ライブラリ Technical Report 1
* Boost library 1.35の統合

CodeGearプロダクトアップデート

C++0xに加えて、Technical Report 1も勉強しなければ。
Boostは、どれぐらいのライブラリに対応しているか興味のあるところ。

やっぱり実際に参加して話を聞くのが一番ですね。

C++Builder2009が手元に届く日が楽しみです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です