2013-03-21

C++11における空のリスト初期化

最近、C++WGの論文で空のリスト初期化の利用がとてつもなく増えている。なんでも空のリスト初期化の感がある。

T t { } ;

空のリスト初期化の利点は、アグリゲートならアグリゲート初期化の結果としてゼロ初期化されるし、クラスならばデフォルトコンストラクターが呼ばれるし、その他の型ならばとりあえずvalue初期化の結果としてゼロ初期化されるし、まあ便利な初期化だ。これまで、初期化子を指定しない場合、コンストラクターのない型でautomaticやdynamic storage duraionを持つオブジェクトは、indeterminate value(よくわからない値)になるので、空のリスト初期化を使うだけで最悪ゼロ初期化できるのだから、そりゃ使うしかない。

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.