null+****@clear*****
null+****@clear*****
2012年 3月 16日 (金) 10:13:14 JST
Kouhei Sutou 2012-03-16 10:13:14 +0900 (Fri, 16 Mar 2012) New Revision: a82f0ec8ef22f498835b3db61519daaeb58c28fe Log: doc coding-style: add about variable initialization Modified files: doc/source/developer/coding_style.rst Modified: doc/source/developer/coding_style.rst (+14 -0) =================================================================== --- doc/source/developer/coding_style.rst 2012-03-16 10:07:17 +0900 (d234a1b) +++ doc/source/developer/coding_style.rst 2012-03-16 10:13:14 +0900 (e085071) @@ -520,6 +520,20 @@ C++では真偽値に ``bool`` を使うためこのような状況は発生し name_ = std::string(name); } +変数宣言と同時に初期化する +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +変数を宣言したときに同時に初期化する。宣言時に初期化せずに代入して初期化すると、無駄な処理が発生する可能性があるため非効率である。(後述) + +よい例: + + std::string name("users"); + +悪い例( ``std::string()`` のところでコンストラクターが動き、 ``name = ...`` のところで代入演算子が動いて2回初期化している): + + std::string name; + name = std::string("users"); + インクリメント・デクリメント ---------------------------