szx*_*pmj 5 c++ library-design c++11 cpp-core-guidelines
在阅读Microsoft's implementation of Cpp Core Guidelines 时,我遇到了两个问题:
gsl::string_span在gsl::span已经运行良好的地方提供?gsl::zstring_span在std::string自 C++11 以来已保证以空值终止的地方提供?任何说明情况都将受到高度赞赏。
span("Hi")为{'H', 'i', '\0'}而string_span("Hi")为{'H', 'i'}。string_span检查终止空字符并且不将其包含在跨度中。string是拥有而跨度不是,所以比较它们就是比较苹果和橙子。zstring_span是具有最后一个字符为空字符约束的跨度。既没有span也string_span没有这种限制。