Share via


安全なライブラリ: 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」を参照してください。

このセクションの内容

_ITERATOR_DEBUG_LEVEL

_SCL_SECURE_NO_WARNINGS

Checked Iterators

debug 反復子のサポート

関連項目

C++ 標準ライブラリの概要