C++ UBドラゴンを飼いならす:安全性とセキュリティの改善に関する状況報告
2025-03-31

C++の未定義動作(UB)は、長年、セキュリティの脆弱性とデバッグが困難なエラーの原因となってきました。C++標準化委員会は、この問題に積極的に取り組んでおり、C++26では、初期化されていない変数のUBの除去や標準ライブラリの境界安全性の強化など、進展が見られます。今後の取り組みでは、誤った動作、言語プロファイル、契約などを用いて、残りのUBケースを体系的にカタログ化し、対処します。目標は、C++のパフォーマンスや柔軟性を犠牲にすることなく、セキュリティの脆弱性という点で、他の最新のメモリセーフ言語と同等のレベルに到達することです。
開発