Effective C++ Item 172009年08月01日 12時48分53秒

  • new で生成したオブジェクトを smart pointer に割り当てる時は単独行で行なう。

一つの文にある複数の式を実行する順番は決められていない。コンパイラは任意の順序で実行することが出来る。そのため、smart pointer に新しく生成されたオブジェクトが代入される前に、他の部分の文から例外が発生し、リソースが漏れてしまうことがある。しかし、単独行にあればその様な事が起きない。

原書では、以下の様な例が上げられている。


processWidget(std::tr1::shared_ptr<Widget>(new Widget), priority());

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2009/08/01/4471006/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。