0%

C++ 标准库接口众多。在实际使用时如果不熟悉常常感到无从下手。阅读开源代码时,常常能看到使用C++新特性的优美代码,但却显得那么陌生。

如果你也遇到这样的问题。下面两个C++ API 网站正好是你需要的利器。

中文版C++ 参考手册

https://www.apiref.com/cpp-zh/index.html

img

这个网站已经支持到C++20了。

除此之外,网站内也有接口的示例代码,方便了解怎么使用。

阅读全文 »

建立Todo Tree

写代码时,常常需要标记某处是需要改动的。但是现在可能暂时没法处理。通常的习惯是,在相应的位置打上TODO,然后写明需要处理的内容。有时间后再回头处理。但是回头后怎么快速找到这些TODO的位置呢?

这里介绍VScode中的Todo Tree插件。它能自动帮你把现在工程里的TODO以文件树的形式显示在左侧边栏。

另一个TODO Highlight插件可以高亮TODOFIXME关键字。

Git插件

Git Graph

这个插件可以图形化显示分支的历史合并记录和commit内容。

ctrl+shift+p打开命令输入面板,输入git就能发现git graph了。

阅读全文 »

这篇文章着重介绍自定义ROS2类型数据时,我们可以使用哪些基础类型。这也是我之前困惑的一个问题。所以这里简单汇总说明一下。关于消息、服务和动作接口的使用说明,请查看本次推送的第一篇推文。

自定义msg示例

定义msg数据和在C++中定义一个结构体是一样的。只是类型名称有些区别。然后不需要加分号。

1
2
3
4
Header header
float64 circle_x
float64 circle_y
float32[] ranges

自定义service数据示例

service数据包含两个部分:请求和应答。这两部分用---隔开。两部分数据可分别定义,并且可以为空类型(std_msgs/Empty)。

1
2
3
4
5
6
7
8
# Request 
geometry_msgs/PoseStamped goal
geometry_msgs/PoseStamped start
string planner_id
bool use_start # If true, use current robot pose as path start, if false, use start above instead
---
# Respond
nav_msgs/Path path
阅读全文 »