c++ - std::span.size() 与数组/向量大小
问题描述
我们在std::span()
工作中玩弄(现在使用 gsl 实现)。最近我们发现将 astd::span.size()
与 avector.size()
进行比较给出了 a -Wsign-compare error
:
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()))