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

我们正在使用std :: span()(现在使用gsl实现).最近我们发现将std :: span.size()与vector.size()进行比较时会出现-Wsign-compare错误:

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

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

最佳答案 您可以使用迭代器并使用函数
std::distance().

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