2018-10のC++標準化委員会の文書集が公開されていたので、興味深い新機能の提案に限って紹介する。 secure_val セキュリティ上の理由でメモリの内容を破棄したい場合、コンパイラーの最適化によって意図通りのコードが吐かれないことがある。 void decrypt() { char password[64] ; // パスワードを取得 get_password(password) ; // 複合処理 // パスワードをメモリから破棄 std::memset( buffer, 0, 64 ) ; } このコードでは最適化の結果memsetが省略されるかもしれない。なぜなら、bufferはmemsetの後に使われていないから、memset自体が不要だとコンパイラーは判断できるからだ。 そのために、最適化によって消えずに値を消去できるライブラリを提供する。 void secure_cle