c++ - c++ 中这段代码的长度和 this->length 是否相同?
问题描述
我有一个重载的运算符:
rectangletype rectangletype::operator+(const rectangletype& rect) const
{
rectangletype temprect;
temprect.length = length + rect.length;
return temprect;
}
这是主要的:
int main()
{
rectangletype r1(23);
rectangletype r2(27);
rectangletype r3 = r1 + r2;
r3.print();
}
在重载的运算符函数中,当我使用 this->length 而不是 length 时,它给出了相同的结果,但它的工作方式是否相同?
解决方案
覆盖运算符时,this
关键字引用语句中运算符左侧的对象。在重载函数中,您可以显式使用this->
,但它是隐含的,因此不是必需的。
推荐阅读
- javascript - 如何从命令行为不同的环境运行 mocha 测试
- c++ - 在编译时检查函数是否具有外部链接
- git - 使用哈希获取 git commit 的年龄
- mongodb - 根据优先顺序删除重复项
- html - z-index、sidenav 重叠 topnav 的问题
- python - scipy solve_ivp 与负 first_step
- angular-cdk - 在滚动时重新定位 CdkConnectedOverlay
- node.js - 复杂的应用程序逻辑在 MVC 模型中属于哪里?
- rust - 遍历成员时传递“self”引用
- julia - Julia:如何将 DataFrame 复制到系统剪贴板?