Поделиться через


Безопасные библиотеки: стандартная библиотека C++

В библиотеки, которые поставляются с помощью Microsoft C++, включая стандартную библиотеку C++ C++, были улучшены, чтобы сделать их более безопасными.

В стандартной библиотеке C++ несколько методов оказались потенциально небезопасными, так как могли привести к переполнению буфера или другим дефектам кода. Использовать эти методы не рекомендуется; вместо них созданы новые, более безопасные методы. Эти новые методы оканчиваются на _s.

Также были внесены некоторые улучшения для повышения безопасности итераторов и алгоритмов. Дополнительные сведения см. в разделах Проверяемые итераторы, Поддержка в отладке итераторов и _ITERATOR_DEBUG_LEVEL.

Замечания

В следующей таблице перечислены потенциально небезопасные методы стандартной библиотеки C++, а также их более безопасные эквиваленты:

Потенциально небезопасный метод Более безопасный эквивалент
copy basic_string::_Copy_s
copy char_traits::_Copy_s

При вызове любого из перечисленных выше потенциально небезопасных методов или при неправильном использовании итераторов компилятор создает Предупреждение компилятора (уровень 3) С4996. Сведения о том, как отключить эти предупреждения, см. в разделе _SCL_SECURE_NO_WARNINGS.

В этом разделе

_ITERATOR_DEBUG_LEVEL

_SCL_SECURE_NO_WARNINGS

Checked Iterators

Поддержка итераторов отладки

См. также

Общие сведения о стандартной библиотеке C++