いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

C++ ランゲージクイックリファレンスを読んでいて見つけました。

コンストラクタ内で例外を補足し、中途半場に構築してしまったりソースの後始末をしたい場合は次のように書けるようです。

Artist::Artist()
try :
  m_name(0), m_image(0)
{
  m_name = new Name("Fabio Lione");
  m_image = new Image("fabio_lione.png");
}
catch (...)
{
  delete m_name;
  delete m_image;
}

デバッガで追いかけたところ、 Artist クラスのコンストラクタ内で例外が送出された場合に Name クラスと Image クラスのデストラクタが呼ばれることを確認しました。

このネタ、論争になりやすいそうなので、良い記述を見つけたと思いました。

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 カウンター
ブログSEO対策:track word あわせて読みたい SEO STATUS