安全库:C++ 标准库
已对随附于 Microsoft C++ 的库(包括 C++ 标准库)实施了多项功能增强以使它们更加安全。
已将 C++ 标准库中的多个方法确定为具有潜在的不安全性,因为它们可能导致缓冲区溢出或其他代码缺陷。 建议不要使用这些方法,已创建了更安全的新方法来替代这些方法。 这些新方法均以 _s
结尾。
还实施了多项功能增强以提升迭代器和算法的安全性。 有关详细信息,请参阅 Checked Iterators、 Debug Iterator Support 和 _ITERATOR_DEBUG_LEVEL。
注解
下表列出了可能不安全的 C++ 标准库方法,以及更安全的等效方法:
可能不安全的方法 | 更安全的等效方法 |
---|---|
copy | basic_string::_Copy_s |
copy | char_traits::_Copy_s |
如果调用以上任何一种潜在不安全的方法或如果错误使用迭代器,则编译器将生成编译器警告(3 级)C4996。 有关如何禁用这些警告的信息,请参阅 _SCL_SECURE_NO_WARNINGS。