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

C++中wait_for_service函数参数列表末尾(-1)的含义是什么?

关于rclcpp中wait_for_service参数(-1)的含义

首先明确参数类型:std::chrono::duration<int64_t, RatioT>是C++标准库的时间时长类型,构造时传入的数值代表指定时间单位下的周期数——比如默认模板参数RatioT = std::milli(毫秒)时,传入1就代表1毫秒,传入1000就代表1秒。

而这里用(-1)构造的duration作为默认参数,是ROS2 rclcpp框架里的约定:

  • 这个负的时长值表示无限等待
  • 调用wait_for_service时如果不主动指定timeout参数,函数会一直阻塞,直到目标服务上线可用,不会因为超时而返回false

换句话说,这个(-1)就是给函数传递“不用设超时,一直等服务出现”的指令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:50:54