You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断hidl_vec是否为空?调用empty方法报错该如何解决

解决方案

hidl_vec本身没有内置empty()成员方法,你可以利用它原生支持的迭代器实现空判断,逻辑和STL标准的empty()实现完全一致,也能满足你不想通过size()判断的需求:

  • 直接在判断处对比迭代器:
ASSERT_FALSE(foo.begin() == foo.end());
  • 如果需要高频使用,可以封装通用工具函数:
#include "android/hardware/hidl_vec.h"

template<typename T>
bool isEmpty(const android::hardware::hidl_vec<T>& vec) {
    return vec.begin() == vec.end();
}

// 调用示例
ASSERT_FALSE(isEmpty(foo));

补充说明

Android官方对hidl_vec的设计只做了核心能力对齐,并没有完全复刻STL vector的所有接口,因此没有empty()、push_back()这类STL常用成员方法。

内容的提问来源于stack exchange,提问作者nj2237

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 17:48:04