Bra*_*rad 5 c++ cpp-core-guidelines
我们正在工作中尝试std::span()(目前使用 gsl 实现)。最近我们发现将 astd::span.size()与 a进行比较vector.size()会得到 a -Wsign-compare error:
if( span.size() > vector.size() ) // comparison between signed and unsigned integer expressions [-Wsign-compare]
Run Code Online (Sandbox Code Playgroud)
我认为我们不想对每一项比较都进行选角。我们的编码指南将这些警告视为错误。好奇是否有人有任何想法或建议?
您可以使用迭代器并同时使用 function std::distance()。
if (std::distance(s.begin(), s.end()) > std::distance(v.begin(), v.end()))
Run Code Online (Sandbox Code Playgroud)