安全なライブラリ: C++ 標準ライブラリ
Microsoft C++ に付属しているライブラリ (C++ 標準ライブラリを含む) には、安全性を向上するためのいくつかの機能強化が加えられています。
C++ 標準ライブラリに含まれる一部のメソッドは、バッファー オーバーランが発生する可能性のあるものや、コードに欠陥があることによる潜在的な危険性が確認されています。 こうしたメソッドの使用はお勧めできません。また、それらに置き換わる、新しい安全性の高いメソッドが作成されています。 これに該当する新しいメソッドのすべてには、末尾に _s
が付いています。
反復子とアルゴリズムにも、安全性を向上するためのいくつかの機能強化が行われています。 詳細については、「チェックを行う反復子」、「反復子のデバッグのサポート」、および「_ITERATOR_DEBUG_LEVEL」を参照してください。
解説
次の表に、潜在的な危険性のある C++ 標準ライブラリのメソッドと、それと同等な安全なメソッドを示します。
潜在的に危険なメソッド | 安全な同等のメソッド |
---|---|
copy | basic_string::_Copy_s |
copy | char_traits::_Copy_s |
上記の潜在的に危険なメソッドのいずれかを呼び出したり、不適切に反復子を使用したりすると、コンパイラはコンパイラの警告 (レベル 3) C4996 を生成します。 これらの警告を無効にする方法の詳細については、「_SCL_SECURE_NO_WARNINGS」を参照してください。