6

在阅读Microsoft 的 Cpp Core Guidelines 实施过程中我遇到了两个问题:

  1. 为什么gsl::string_spangsl::span已经运行良好的地方提供?
  2. 为什么gsl::zstring_span提供std::string自 C++11 以来已经保证为空终止的位置?

任何说明情况都将受到高度赞赏。

4

1 回答 1

7
  1. span("Hi"){'H', 'i', '\0'}而是。string_span("Hi")_ 检查终止空字符并且不将其包括在跨度中。{'H', 'i'}string_span
  2. string是拥有而跨度不是,所以比较它们就是比较苹果和橙子。zstring_span是一个跨度,其约束条件是最后一个字符是空字符。既没有spanstring_span没有那个限制。
于 2018-03-19T17:40:30.590 回答