C++0x: auto_ptr から unique_ptr へ
高橋(智)です。
先日のデベロッパーキャンプでお話できなかったC++に関する話題です。
これまでC++では、インスタンスの自動解放とポインターによるアクセスのために、スマートポインター「auto_ptr」を便利に使用してました。しかしauto_ptrには、インスタンスの所有権の受け渡しに欠点があり、以下のようなコード p1->10; はコンパイルエラーにならず、実行時にアクセス違反を引き起こします。
そこでC++0xの規格では、上のような欠点を克服したスマートポインター「unique_ptr」を新たに導入しました。このunique_ptrを使用すると、基本的に所有権の移転は行えず、以下のコード std::unique_ptr<MyClass> p2 = p1; はコンパイルエラーになります。
では、unique_ptrを使った場合には所有権を移転するにはどうすればよいのでしょうか?所有権を移転には「moveセマンティクス」を利用します。また、所有権の有無を検査するためのメソッド「get()」も用意されていますので、以下のコードのように安全にインスタンスにアクセス可能です。
参考資料:
[unique_ptr And The Deprecation Of auto_ptr]
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=403
[Using unique_ptr, Part I, Part II]
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=400
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=401
Share This | Email this page to a friend
Posted by Tomohiro Takahashi on October 7th, 2008 under C++ | 2 Comments »次回デベロッパーキャンプは11月下旬から12月上旬で計画中
現在、次回のデベロッパーキャンプの開催を11月下旬から12月上旬で検討しています。会場や外国人スピーカーの調整と並行して、セッション内容についても検討を進めており、いくつかの候補を考えています。すべてが、今回実施可能なものとは限りませんが、現在のアイデアを列挙してみました。
ぜひ、以下のページから、聞きたいセッション、テーマを投票してください!
また、今回も外部スピーカーを募集します。毎回、少しずつコミュニティスピーカーの輪が広がっています。ぜひナレッジを共有しましょう。なお、他薦の場合は、上のアンケートの Q7 に記載してください。
また、自身ではスピーカーを担当しなくても、例えばディスカッションセッションの企画側にまわりたいといった希望がある方も大歓迎です。ご連絡ください。
Share This | Email this page to a friend
Posted by Hitoshi Fujii on October 1st, 2008 under Event | Comment now »選択と集中 - ユーザーの皆さんが望む方向に進むために
CodeGearがエンバカデロ・テクノロジーズと合併して3ヶ月が経ちました。この機会に、私たちが今進めている取り組みを大きな視点で紹介しておこうと思います。
先日のデベロッパーキャンプでは、ユーザーの皆さんのさまざまなご意見を伺うことができました。もちろん会場で伺った意見がすべてではありません。こうした皆さんの要望をお伺いする機会は、大事にしていかなければなりません。
ボーランドから分離独立してCodeGearとなり、さらにエンバカデロ・テクノロジーズとして新体制となる過程で、私たちは「選択と集中」という取り組みを進めてきました。幅広くすべてを提供するという姿勢から、会社の身の丈にあったリソースの集中化を行ってきています。
この過程で一番重要視しているのが、皆さんのご意見です。実際問題、CodeGear以前では、開発者の皆さんのご意見を広く募るということができていなかったと思います。そのため、CodeGear(DevCo)として当初取り組んだのは、皆さんのご意見を受け取ることのできるチャネルを増やすことでした。
例えば、スタッフブログ、個人ブログ、デベロッパーキャンプ、ニュースグループ(現在ではディスカッションフォーラム)など。CodeGearの社員が、それぞれ個人として皆さんに語りかけ、フィードバックいただける場を増やしてきました。ロードマップを提示するのもその取り組みの一環ですが、ロードマップを事前に公開して皆さんに認知していただくよりも重要なのは、その「案」に対してのフィードバックです。ロードマップはあくまでも仮定にすぎません。より重要な課題があれば、そちらを優先します。そのためには、仮定に対して、何らかのリアクションをしていただくのが一番だと思います。
こうした姿勢は、従来の企業姿勢からすると大変奇異に感じるかもしれません。しかし、「CodeGear」として開発者フォーカスすると宣言した真の意味は、このような姿勢の変化、言い換えれば、従来の姿勢の誤りを正していくことなのです。つまりは、社員全員が、皆さんとのコミュニケーションを大事にしていくべく、自分たち自身のこれまでの慣習を打ち破ることでもあるのです。
今後も、引き続き「選択と集中」を推進していく中で、皆さんのご意見が本当に大切になってきます。ユーザーアンケートやイベントなどでのディスカッションの場だけでなく、CDN記事の各評価やブログに対するコメントなど、小さなフィードバックも皆さんのご要望を知る機会です。ぜひ、こうした場を活用ください。
また、コミュニケーションはさまざまな場を利用していただいてかまわないと思っています。ここでなければ聞けない、意見を言えないというところはありません。ただし、それぞれ双方向コミュニケーションであったり、テーマが絞られていたりと、特性がありますから、最も建設的に展開できる場を選んでいただくのがよろしいかと思います。 特にディスカッションフォーラムは、双方向コミュニケーションとして便利な場ですし、いただいたご意見を、その場で展開して何らかの解決策へと進めることも可能です(そうした議論の過程で、多くの他の方のご意見も反映される可能性があるかと思います)。
「開発者の皆さんに100%フォーカスしていく」という活動は、まだまだ、試行錯誤と努力の途上にありますが、引き続きよろしくお願いします。
Share This | Email this page to a friend
Posted by Hitoshi Fujii on October 1st, 2008 under Non Tech | Comment now »CORBA: ACE+TAO 5.6.6 リリース
高橋(智)です。
先日リリースされたC++Builder 2009について続報です。
当初から予定されていた通り、オープンソースのC++のCORBA実装「ACE+TAO」が「C++Builder 2009」にも正式対応されてリリースされました!! メンテナンスをされているRemedyITの方には本当に感謝いたします。
[ACE+TAO+CIAO x.6.6 available for download]
http://groups.google.co.jp/group/comp.soft-sys.ace/browse_thread/thread/ccc3a61204561bde
http://groups.google.co.jp/group/comp.soft-sys.ace/browse_thread/thread/2fff9d5965c29e20/130e9915dd9daf17
[TAO]
http://www.cs.wustl.edu/~schmidt/TAO.html
ACE+TAOの使い方などは、以前のデベロッパーキャンプで解説した以下の資料を参考にしてください。
[参考: オープンソースを利用した 3層C/Sシステムの構築方法]
http://www.borland.com/resources/jp/pdf/events/2nd_devcamp_06.pdf
Share This | Email this page to a friend
Posted by Tomohiro Takahashi on September 20th, 2008 under C++ | Comment now »第10回デベロッパーキャンプ資料ダウンロード開始
9月9日、11日に開催した第10回エンバカデロ・デベロッパーキャンプの資料ダウンロードを開始しました。
今回は、東京・大阪の2拠点開催でもあり、資料のボリュームも結構あります。
今回のダウンロードサービスには、Delphiトークセッションの内容は含まれていません。ライブディスカッションの臨場感をどのように伝えるかは、課題ですね。
このほかに、いくつかのセッションについては、ビデオ公開、あるいは記事での紹介などを計画しています。お楽しみに。
Share This | Email this page to a friend
Posted by Hitoshi Fujii on September 17th, 2008 under Event | Comment now »Delphi 2009 / C++Builder 2009 予定通り9月18日出荷開始
8月末に発表しましたDelphi 2009 / C++Builder 2009は、予定通り9月18日より出荷開始します。現在すでにトライアル版のダウンロードが可能になっています。
今回の出荷開始に伴い、Delphi/C++Builder/RAD Studioのサポート(メンテナンス)加入者の皆さんには、それぞれのプログラム対応した製品をお送りします。
| サポート(メンテナンス)加入製品 | 送付製品 |
|---|---|
| Delphi Professional | Delphi 2009 Professional |
| Delphi Enterprise | Delphi 2009 Enterprise |
| C++Builder Professional | C++Builder 2009 Professional |
| C++Builder Enterprise | C++Builder 2009 Enterprise |
| RAD Studio Professional | Delphi & C++Builder Bundle 2009 Professional |
| RAD Studio Enterprise | Delphi & C++Builder Bundle 2009 Enterprise |
| RAD Studio Architect | Delphi & C++Builder Bundle 2009 Architect |
現在サポートプログラムに加入していない方で、今回の新バージョン購入に合わせてサポート(メンテナンス)に加入したい方は、インフォメーションサービスセンターまでお問い合わせください。
Share This | Email this page to a friend
Posted by Hitoshi Fujii on September 16th, 2008 under C++, Delphi | Comment now »動的なDLLロードと動的RTLの問題
高橋(智)です。
今回リリースされた C++Builder 2009 のリリースノートの下部に注意してください。
[CodeGear Delphi 2009 および C++Builder 2009 のリリース ノート]
http://dn.codegear.com/jp/article/38489
そこには、
[既知の問題]
—- 抜粋して引用 ——-
DLL を動的にロードする場合、動的リンク RTL は使用できない
DLL を動的にロードする場合、ランタイム ライブラリと動的にリンクできません。動的にリンクした場合、プログラムが終了すると、アクセス違反が発生します。これを回避するには、[プロジェクト|オプション…] の [リンカ] ページにある [EXE と DLL オプション] セクションの [動的 RTL] チェック ボックスをオフにします。
————————-
と記述されています。Win32 API の LoadLibrary,GetProcAddress,FreeLibrary を使用してDLLをリンクする場合に、この問題が発生することがあります。
なお、旧 C++Builder 2007 を対象に、同様の問題がQualityCentralに登録されています。
http://qc.codegear.com/wc/qcmain.aspx?d=65764
Share This | Email this page to a friend
Posted by Tomohiro Takahashi on September 10th, 2008 under C++ | Comment now »東京開催のデベロッパーキャンプ(9/9) - 並列プログラミングのセッション紹介
今回の東京開催では、一般公募いただいたセッションで興味深いものがあります。
| 【B4】Delphi/C++テクニカル/テクノロジートレンド 「Delphi/C++Builderで実践する並列プログラミング──マルチコアからクラスタへ」 株式会社イマジオム 代表取締役 高木 太郎 並列処理というと「C/C++やFortranでしかできない」と思われがちですが、実際にはDelphiやC++Builderを使っても簡単にできます。 このセッションでは並列処理の一般論を、特にマルチコアとクラスタの違いを明確にしながら解説します。またクラスタアプリケーションを開発するためのプラットホームとして当社製品の「HarmonyCalc」を取り上げ、プログラミングの実例を紹介します。 |
高木さんは、Delphi、C++Builderで並列処理を実装するライブラリを開発していらっしゃるそうです。その経験から、セッションの前半では、「並列処理の基礎」と題して一般的・入門的な内容を紹介します。セッション資料をいただきましたが、なかなか見ごたえのある内容です。
後半では、「実践、クラスタプログラミング」と題して イマジオムで開発した並列プログラミングのプラットフォーム「HarmonyCalc」を使いながら、実際の並列プログラミングの例をご覧いただくとのこと。
また今回、デベロッパーキャンプの開催に合わせて、「HarmonyCalc」を試すことのできる環境をご用意いただきました。
機能制限版
マルチコアPCのみで動作する機能限定バージョンのHarmonyCalc。イマジオムののホームページから無償ダウンロードできるようになるそうです。
製品版プレゼント
デベロッパーキャンプに参加された方を対象に、HarmonyCalc の製品版(開発キットと実行ライセンス)を無償でご提供いただけるとのこと。 詳細は当日のセッションでご案内致します。
セッションで学んだ内容を、すぐに実際に試してみることができるのはうれしいことです。
Share This | Email this page to a friend
Posted by Hitoshi Fujii on September 4th, 2008 under Event, C++, Delphi | Comment now »イベントウィーク(Weeks)始まる!
9月になりました。Delphi 2009、C++Builder 2009も発表し、いよいよイベントの開催が近づいてきました。今週から来週にかけて、3つほどイベントを予定しています。
9/4 -5:日経BP - XDev Conference 2008
こちらは、日経BP社が主催する開発者向けカンファレンスの第2回。昨年も同時期に、たしか台風のさなか開催されたもの。CodeGearからは、Delphi for PHPを紹介しました。今年も昨年同様、Delphi for PHPを紹介するセッションを実施する予定です。
9/9:第10回エンバカデロ・デベロッパーキャンプ - 東京
デベロッパーキャンプも10回目を迎えます。今回は、エンバカデロとして初の開催ということもあって、東京と大阪のツアー開催です。おかげさまで申込みも順調で、恐らく今日中には、午前中のセッションに満席が出るのではないかと予想しています。お申込みはお早めに!
ちなみに、今回ちょうどDelphi 2009、C++Builder 2009の発売を開始することから、会場で特別価格申込用紙を配布します。通常版とバージョンアップ版のいずれも、ふつうにお求めいただくよりもちょっとお得な価格で購入いただけます。
9/11:第10回エンバカデロ・デベロッパーキャンプ - 大阪
そして大阪開催です。大阪は昨年の第6回以来の開催。東京と同じコンテンツをお送りするほか、大阪オリジナルのセッションも用意しています。こちらでも、特別価格申込用紙を配布します。
ところで、各イベントのタイトルは、CDNの新しいイベント情報機能を使ったページにリンクしています。CDNのトップページに「イベント」枠が表示されるようになっているので、お気づきの方も多いかと思います。今回のようなローカルの通常イベントについては、それぞれのページを見ればいいですけれど、海外で開催されるWebセミナーなど、時差の関係で、実際、日本時間の何日の何時に開催されるのか分かりにくいので、この機能は便利です。リストの上にある、「タイムゾーン」の箇所で、(GMT+09:00) Osaka, Sapporo, Tokyo を選択しておけば、日本時間での開催日時が表示されます。お試しください。
Share This | Email this page to a friend
Posted by Hitoshi Fujii on September 2nd, 2008 under Event | Comment now »書籍: Delphi for PHPではじめるPHPビジュアルWeb開発
高橋(智)です。少し宣伝させてください。
カットシステムさんからDelphi for PHPの本が出版されます。あと1週間程度で店頭に並ぶと思います。PHP言語の基礎学習や、マスターページを利用したフォトギャラリーの作り方等が解説されております。 PHPに興味がありましたら、ぜひ付属のトライアル版で試してみてください。
[Delphi for PHPではじめるPHPビジュアルWeb開発]
http://www.cutt.co.jp/book/978-4-87783-202-5.html
![]()
Share This | Email this page to a friend
Posted by Tomohiro Takahashi on August 19th, 2008 under PHP, Delphi | Comment now »Server Response from: dnrh1.codegear.com


RSS Feed