c++ - 在 C++ 中查找范围的长度
问题描述
我已经定义了一个范围,我需要找到其中的元素数量。我目前的代码是
size_t c = 0;
for(auto elem : range){
c++;
}
return c;
但是,编译器抱怨未使用的变量elem
,我无法摆脱它。我虽然使用类似的东西
std::count_if(range.begin(), range.end(), [](type elem){return ture;});
但我觉得这有点矫枉过正,而且似乎不对。
我想知道是否有一种更好的系统方法可以在不定义额外变量的情况下实现这一目标?
解决方案
如果(出于某种原因)您的范围没有size()
成员函数,您可以使用std::distance
. 这应该始终有效,因为范围需要具有开始和结束迭代器。
std::distance(cbegin(range), cend(range));
推荐阅读
- python - 从 groupedby pandas 数据框中查找多个反向百分位数
- postgresql - 从服务器计算机到客户端计算机的 Postgresql 复制功能
- c++ - 在单个函数 C++ 中返回不同的数据类型数据
- c++ - Microsoft Visual Studio - 为什么会出现此错误?
- php - 选择查询 WHMCS?
- vhdl - 不理解 numeric_std to_unsigned 函数调用的错误消息,选定的信号分配
- api - 从管道本身取消 Synapse 管道
- liferay - 工作流删除操作
- mqtt - 连接后 Mqtt 客户端立即断开连接
- api - 隧道 IP 地址