안전한 라이브러리: C++ 표준 라이브러리Safe Libraries: C++ Standard Library

C++ 표준 라이브러리를 비롯하여 Microsoft C++와 함께 제공되는 라이브러리에 대한 몇 가지 향상된 기능을 통해 더욱 안전해졌습니다.Several enhancements have been made to the libraries that ship with Microsoft C++, including the C++ Standard Library, to make them more secure.

C++ 표준 라이브러리의 일부 메서드는 버퍼 오버런이나 다른 코드 오류를 발생시킬 수 있기 때문에 잠재적으로 안전하지 않은 것으로 식별되었습니다.Several methods in the C++ Standard Library have been identified as potentially unsafe because they could lead to a buffer overrun or other code defect. 이러한 메서드는 사용하지 않는 것이 좋으며, 이러한 메서드를 대체하기 위해 보다 안전한 새 메서드를 만들었습니다.The use of these methods is discouraged, and new, more secure methods have been created to replace them. 이러한 새 메서드는 모두 _s로 끝납니다.These new methods all end in _s.

반복기와 알고리즘도 보다 안전하게 만들기 위해 여러 가지 기능이 향상되었습니다.Several enhancements have also been made to make iterators and algorithms more secure. 자세한 내용은 확인된 반복기, 디버그 반복기 지원_ITERATOR_DEBUG_LEVEL을 참조하세요.For more information, see Checked Iterators, Debug Iterator Support and _ITERATOR_DEBUG_LEVEL.

설명Remarks

다음 표에는 안전하지 않을 수 있는 C++ 표준 라이브러리 메서드 및 그에 해당하는 보다 안전한 메서드가 나열되어 있습니다.The following table lists the C++ Standard Library methods that are potentially unsafe, as well as their safer equivalent:

잠재적으로 안전하지 않은 메서드Potentially unsafe method 보다 안전한 메서드Safer equivalent
copycopy basic_string::_Copy_sbasic_string::_Copy_s
copycopy char_traits::_Copy_schar_traits::_Copy_s

위의 안전하지 않을 수 있는 메서드 중 하나를 호출하거나 반복기를 잘못 사용하면 컴파일러에서 컴파일러 경고(수준 3) C4996을 생성합니다.If you call any one of the potentially unsafe methods above, or if you use iterators incorrectly, the compiler will generate Compiler Warning (level 3) C4996. 이러한 경고를 사용하지 않도록 설정하는 방법에 대한 자세한 내용은 _SCL_SECURE_NO_WARNINGS를 참조하세요.For information on how to disable these warnings, see _SCL_SECURE_NO_WARNINGS.

섹션 내용In This Section

_ITERATOR_DEBUG_LEVEL_ITERATOR_DEBUG_LEVEL

_SCL_SECURE_NO_WARNINGS_SCL_SECURE_NO_WARNINGS

확인된 반복기Checked Iterators

디버그 반복기 지원Debug Iterator Support

참고 항목See also

C++ 표준 라이브러리 개요C++ Standard Library Overview