【发布时间】:2016-08-15 15:56:36
【问题描述】:
The C++ Standard Library - A Tutorial and Reference, 2nd Edition 指的是STL 的安全版本,它支持各种实用程序,例如operator [] 和其他运算符的运行时边界检查。例如,在 p247 上:
因此,使用“安全”STL 是一个好主意,至少在软件期间 发展。 Cary Horstmann 介绍了安全 STL 的第一个版本(参见 [SafeSTL])。另一个例子是“STLport”,它是 几乎所有平台均可免费使用 [STLPort]。此外, 图书馆供应商现在提供标志以启用“更安全”的模式, 尤其应该在开发过程中启用。
这两个建议的软件包似乎都比较过时(最后一次开发是在 2008 年),并且不包含更新的 C++11/14 功能。 Linux 上的一些主要编译器(gcc 或 clang)或作为独立库是否有更新的知名实现?
【问题讨论】:
-
你能真正引用它所说的地方吗?我认为它可能建议使用
at而不是operator[],因为at会检查operator[]没有的地方。