C和C++安全编码(原书第2版)
上QQ阅读APP看书,第一时间看更新

2.4.6 使用basic_string的其他常见错误

使用basic_string类的其他常见的错误包括如下内容。

·使用无效或者未初始化的迭代器

·传递出界的索引

·使用实际上不是一个区间的迭代器区间

·传递一个无效的迭代器位置

Herb Sutter和Andrei Alexandrescu所著的《C++编程规范:101条规则、准则和最佳实践》[Sutter 2005]中详细讨论了这些问题。

最后,许多现有的C++程序和库使用自己的字符串类。要使用这些程序库,你可能需要使用这些字符串类型或不断地来回转换。这种库在安全方面,质量参差不齐。通常最好使用标准库(如果可能),或完全理解所选择的库的语义。一般来说,库应在如下的基础上进行评估:使用的简单或复杂性、可能犯的错误类型、是否容易犯这些错误、潜在的后果可能是什么。