首页 > 解决方案 > 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]

我不认为我们想对这些比较中的每一个都进行比较。我们的编码指南将这些警告视为错误。好奇是否有人有任何想法或建议?

标签: c++cpp-core-guidelines

解决方案


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

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

推荐阅读