阅读期间微软的实现 https://github.com/Microsoft/GSL of Cpp 核心指南 http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines,我遇到两个问题:
- Why is
gsl::string_span
提供地点gsl::span
已经运作良好了吗?
- Why is
gsl::zstring_span
提供地点std::string
从 C++11 开始就已经保证以 null 终止?
任何有说明的情况将受到高度赞赏。
-
span("Hi")
is {'H', 'i', '\0'}
然而string_span("Hi")
is {'H', 'i'}
. string_span
检查终止空字符并且不将其包含在范围中。
-
string
是拥有,而跨度不是,所以比较它们就像比较苹果和橘子。zstring_span
是一个范围,其约束是最后一个字符为空字符。两者都不span
nor string_span
有这个约束。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)