std :: span.size()vs数组/向量大小

时间:2018-05-18 14:50:47

标签: c++ cpp-core-guidelines

我们正在使用std::span()(现在使用gsl实现)。最近我们发现,将std::span.size()vector.size()进行比较后会得到-Wsign-compare error

if( span.size() > vector.size() ) // comparison between signed and unsigned integer expressions [-Wsign-compare]

我认为我们不想在每一次比较中投出。我们的编码指南将这些警告视为错误。好奇,如果有人有任何想法或建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用迭代器并使用函数std::distance()

if (std::distance(s.begin(), s.end()) > std::distance(v.begin(), v.end()))