C++相談室 part149at TECHC++相談室 part149 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト993:はちみつ餃子 ◆8X2XSCHEME 20/03/23 17:58:00 FLdc410A.net >>981 C++20 的に言えば集成体初期化の文法に統合されたということにはなるんだと思うけど、経緯はよくしらない。 994:デフォルトの名無しさん 20/03/23 18:27:48 bf1cRh+B.net もし、 {1,2,3,0,0,0,0,0} {1,2,0,0,0,0,0,0} {1,0,0,0,0,0,0,0} {0,0,0,0,0,0,0,0} のようになるんであれば、()は(xxx)のxxxを書かない場合と捉えるのは数学的推論として 正しい見方になりますね。 実際に上のようになるのか、未初期化の部分が残るのかは知りませんが。 995:はちみつ餃子 ◆8X2XSCHEME 20/03/23 18:32:49 FLdc410A.net >>983 足りない分はゼロ初期化されるよ。 C の時代からの配列の初期化の文法と一貫させてるつもりなんだと思う。 996:はちみつ餃子 ◆8X2XSCHEME 20/03/23 18:45:31 FLdc410A.net >>983 空の丸括弧でゼロ初期化されるのは C++03 にはすでに有って、 波括弧で初期化する文法は C++11 から入って、 (そこから色々と条件の緩和やら変更やらがありつつ) 空ではない丸括弧で集成体初期化になるのは C++20 からという段階的な変化がある。 追加された文法が既存の文法となるべく一貫性を持つように統合しようとはしているけど、 互換性を壊さないようにというのも C++ の強い要件なので、 正確なルールはごちゃごちゃした条件の塊になりがち。 まあまあ整理されている部分もあるけど、 勝手な予想ではなくちゃんと資料にはあたった方がいいよ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch