c++ - 是否可以在不引用“this”指针的情况下使用成员运算符?
问题描述
我想重载[] operator
并在成员函数中使用它而不引用this
指针,因为重载的点,至少在这种情况下,是简洁的。我不认为它可以做到,可以吗?this
我可以在不取消引用的情况下访问成员函数,但不能访问成员运算符,这似乎不一致。
#include <iostream>
struct demo {
int i;
void operator [](demo d) {
std::cout << "operator called [" << d.i << "]" << std::endl;
}
void run() {
demo k = { 5 };
(*this)[k] ; // works
this->operator[](k); // works
// [k] // fails - why?
}
};
解决方案
你可以使用它而不this
喜欢
operator[](k);
推荐阅读
- angular-akita - 如何更新秋田州“ui”属性
- r - Data.Table fwrite 减慢写入列表
- sql - 需要帮助 sql server 查询
- django - 具有模态表单的 Django 多表单页面
- javascript - 我应该如何导航到 react-native 中的 JSON 文件?
- python - 从我的 Django 项目中更正登录视图中的错误
- c# - 单元测试 - XUnit - IAssemblyFixture - 以下构造函数参数没有匹配的夹具数据
- c# - UserControl 未填充自定义 DataGrid 中 ItemsPresenter 的宽度
- php - PHP:Gethostbyname 和包含数字的域
- azure - Azure App Service 和 Application Insights 性能测试在哪里?