概要 戻り値が使用されない場合に警告を出力させる[[nodiscard]]属性に、戻り値を無視してはならない理由を文字列リテラルとして指定できるようにする。 これにより、以下のようなことをユーザーに警告メッセージとして伝えることができる: 戻り値を無視するとリソースリークの可能性がある 誤って別な関数を使ってしまっている可能性がある 理由を設定できることで、ユーザーが関数の実装を調べなくても戻り値を無視してはならない理由を正確に知ることができるようになる。 仕様 nodiscard属性は、以下の形式の引数をとることができる: nodiscard(文字列リテラル) nodiscard属性なしで宣言された名前もしくはエンティティは、あとで属性をつけて再宣言でき、その逆もできる。その際、引数のありなしも変更できる nodiscard属性の引数である文字列リテラルは、戻り値を無視してはならない理由