这在C++、PHP和其他语言中的使用
Usage of this in C++, PHP, other languages
为什么C++中的内部类变量可以使用this
,但不必使用,而内部PHP类属性必须使用$this->
?
示例C++(可以使用this
,但不必)
void setHealth(int h)
{
health = h;
}
示例PHP(必须使用$this->
)
public function setHealth($h)
{
$this->health = $h;
}
在PHP中要求$this->
有什么优点/缺点吗?我可以看到,它毫无疑问地澄清了变量确实属于这个特定的类实例,而不是可能是一个局部范围的变量,但C++在没有这个要求的情况下管理得很好。
C++具有静态类型并需要声明。编译器可以很容易地弄清楚名称(health
)指的是什么
在PHP中,OTOH、$health = $h;
是不明确的。这是局部变量还是类成员变量?请记住,您可以动态地向对象添加属性,因此仅检查类声明的属性是不够的。
相关文章:
- Java 和其他语言在生成子序列时的输出差异
- 与其他语言相比的 Ruby 和指针
- 其他语言的Qt键盘输入
- 我需要知道什么才能开始用c++/其他语言编程合成器
- 从其他编程语言调用 c++ dll 类函数
- 实时在语言之间流水线传输或以其他方式传输数据
- 动态C++与其他语言的比较 - 在不知道类型的情况下无法在对象上调用方法
- 用java编写源代码,并将其编译为其他语言的各种可执行文件?多重编译
- 如何使C枚举类型可用于其他语言
- 使用大多数Java代码制作可执行文件,但可能添加了其他语言
- 用Cpp或其他快速语言反转大型哈希表
- 如何用其他语言编写带有绑定的Qt插件系统
- 为什么在C语言的标题中使用"#"符号?为什么不是任何其他符号?
- 库在C/C++和其他语言中重现Java原语hashCode逻辑
- WebAPI2 Async .是与所有其他语言兼容的
- 从 bash 拆分的流是否可以转置为其他语言
- 更改其他应用程序的输入语言
- 用PHP或任何其他语言上传巨大的文件
- 如何在Ruby和其他语言之间共享文本文件(或互斥/信号量)
- 通过Win7上的C++与其他英语操作系统语言进行SOCKET通信