C++1z 配列版unique_ptrの型変換

C++14まで、以下のコードは不適格(コンパイルエラー)でした:

unique_ptr<Foo const * const []> ptr1(new Foo*[10]);
Foo const * ptr = ptr1[9];

C++1zでは、このような型変換を許可するために、unique_ptrの配列に対する特殊化バージョンに、変換コンストラクタや変換代入演算子などが追加されます。

詳細な変更内容は提案文書を参照してください。

参照

お断り

この記事の内容は、C++1zが正式リリースされる際には変更される可能性があります。正式リリース後には、C++日本語リファレンスサイトcpprefjpの以下の階層の下に解説ページを用意する予定です。