* vs & Arduino Class
* vs & Arduino Class
可能这类问题已经被问了很多次了,我也读了一些关于C++中的指针和参考的博客。我的经验有限,无法C++。但是,我正在浏览Arduino的PID库中的以下代码,但我无法理解在对象实例化期间使用了"&">,在我看来,这看起来像是通过引用传递的。但是为什么类使用"*">?
**************** Class instantiation ******************
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
**************** Code for class definition ******************
PID(double*, double*, double*, Input, Output,double, double, double, int, int);
在本例中 & 是地址运算符。
PID 构造函数的参数列表包含多个指针。 &Input
返回 Input
的地址。指针存储什么?地址!
有关地址运算符的更多信息,请阅读:
https://en.cppreference.com/w/cpp/language/operator_member_access
1( 和 expr
。
1( 如果操作数是某个对象或函数的左值表达式 类型T,运算符并创建并返回类型为T*的prvalue,其中 相同的简历资格,即指向对象或函数 由操作符指定。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- 人脸跟踪arduino代码的优化
- vscode下的Arduino代码出现意外编译错误
- Arduino从Txt读取整数
- "Undefined class"作为is_base_of的论据
- 如何将class.cpp和class.hpp编译为一个.o文件
- Arduino C++在构造函数中用参数声明对象数组
- C++ Boost::asio串行通信与Arduino无法写入
- Arduino millis() - millis() 怎么能等于 0 以外的任何东西?
- 在Arduino中将PWM通道命名为LEDC是否有特定原因
- 'val' Arduino 错误代码之前的预期'('
- 我可以在 Arduino 的库文件夹之外安装库吗?
- 在 Arduino 上使用 sscanf 会导致与 const char * 不匹配,并且返回值始终相同,尽管输入值不同
- * vs & Arduino Class
- Arduino class implementing TimeLib.h
- Arduino 错误"unable to find a register to spill in class 'NO_REGS'"