[ESP8266/ESP32]进一步熟悉nullptr

2024-4-28 21:21:17 [显示全部楼层]
614浏览
查看: 614|回复: 1

[ESP8266/ESP32] 进一步熟悉nullptr

[复制链接]
  1. #ifndef emptyString
  2. #define emptyString F("")
  3. #endif
  4. void foo(const char *payload = nullptr) {
  5.   if (payload == nullptr) {
  6.     Serial.println("emptyString");
  7.   } else {
  8.     Serial.print("payload: ");
  9.     Serial.println(payload);
  10.   }
  11. }
  12. void setup(void)
  13. {
  14.   // start serial port
  15.   Serial.begin(9600);
  16.   Serial.println("Dallas Temperature IC Control Library Demo");
  17. }
  18. /*
  19. * Main function, get and show the temperature
  20. */
  21. void loop(void)
  22. {
  23.   // call sensors.requestTemperatures() to issue a global temperature
  24.   foo();
  25.   foo("request to all devices on the bus");
  26.   delay(1000);
  27. }
复制代码

程序写入ESP32C3以后,串口吐的内容是
emptyString
payload: request to all devices on the bus
emptyString
payload: request to all devices on the bus
emptyString
payload: request to all devices on the bus




#define emptyString F("")

定义空字符串


foo(const char *payload = nullptr)
定义入参payload,默认值是nullptr


foo();
让入参使用默认值,打印emptyString


foo("request to all devices on the bus");
打印payload: request to all devices on the bus


对语法记不清,最好是写出来验证一下



小牛哥  学徒
 楼主|

发表于 2024-4-28 21:23:11

  1. #ifndef emptyString
  2. #define emptyString F("")
  3. #endif
  4. String foo(const char *payload = nullptr) {
  5.   if (payload == nullptr) {
  6.     return emptyString;
  7.     Serial.println("emptyString");
  8.   }
  9.   
  10.   Serial.print("payload: ");
  11.   Serial.println(payload);
  12.   return "foo";
  13. }
  14. void setup() {
  15.   // put your setup code here, to run once:
  16.   Serial.begin(115200);
  17.   Serial.println("Serial begin...");
  18.   foo();
  19.   foo("Serial Test...");
  20. }
  21. void loop() {
  22.   // put your main code here, to run repeatedly:
  23. }
复制代码


有兴趣可以运行下这个代码,有没有什么问题呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail