エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
京都C++勉強会の宣伝のために、C++03とC++11の違いを、少しづつ解説することにした。 今回は、宣言子だ... 京都C++勉強会の宣伝のために、C++03とC++11の違いを、少しづつ解説することにした。 今回は、宣言子だ。 C++11にはリスト初期化のNarrowing Conversionが禁止された。 以下のような合法なC++03コードが、C++11では違法となる。 // C++03では合法 // C++11では違法 int a[] = { 1.0 } ; C++11では、リスト初期化というものを新たに導入し、従来aggregateにのみ許されていた{ }による初期化を、ユーザー定義型のクラスにももたらした。この心機能の追加にあたって、リスト初期化では、浮動小数点数から整数型や、より表現できる範囲が狭い可能性のある型への暗黙の変換(例:doubleからfloat、intからshort)を、縮小変換(narrowing conversion)と名付け、明確に禁止した。 もし、どうしても型変換を行