【Esp32S3 | Arduino】在Arduino中使用C++的高级特性



前言

最近在玩Arduino,自上次发现Arduino可以用Template,能使用高级宏后,这次发现Arduino竟可以使用C++中的一些STL容器,这属实令人震惊。起因是我打算做一个动态的数组,但是手动实现一些操作属实麻烦,于是看看是否有一些简便的方法,最好是Arduino本身就已经集成的东西。经过一阵查找资料,发现大家似乎一直对Arduino比较鄙夷,但还是有国外大佬提示Arduino中已经自带这部分内容,只不过是部分数据类型需要手动包含头文件。(即使官方自带,仍然有很多人造轮子,是故意的还是不小心)当真正上手的时候才发现Arduino是多么强大,尽管不像esptool那么精细,但是该有的基本上都有,还支持C++的语法,实在是太香了。

对于C++中的STL容器,如果你感兴趣,或者有C++基础,可以去看看C++的文档,这里就以最常见的Vector和Map为例,简单介绍如何在Arduino中使用STL里面的内容,你只需要随机应变就可以了。


一、Arduino中的Vector

Vector是常见的动态数组数据类型,他的好处是关于动态数组的一些操作已经做好了,是现成的,而且性能也不用考虑,毕竟进了标准库了,能差到那里去,所以是可以放心使用的。要想在Arduino中使用Vector很简单,直接用就行,并且不需要包含头文件。

示例代码

定义一个vector

std::vector<string> a{
   "0", "1", "2", "3", "4", "5", "6", "7", "8"};

然后是一些常见的操作,你可以直接查看C++的语言参考,其实到这里就已经结束了,具体可以看看这篇文章

    auto it1 = 
  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广龙宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值