重载支架运算符 [] 获取和设置
Overload bracket operators [] to get and set
我有以下类:
class risc { // singleton
protected:
static unsigned long registers[8];
public:
unsigned long operator [](int i)
{
return registers[i];
}
};
如您所见,我已经实现了用于"getting"的方括号运算符。
现在我想实现它进行设置,即:risc[1] = 2
.
怎么能做到呢?
试试这个:
class risc { // singleton
protected:
static unsigned long registers[8];
public:
unsigned long operator [](int i) const {return registers[i];}
unsigned long & operator [](int i) {return registers[i];}
};
您需要从operator[]
返回引用,以便类的用户使用它来设置值。所以函数签名将是unsigned long& operator [](int i)
.
相关文章:
- 如何获取进程以设置其亲和力?
- 如何获取控制面板设置值,如字体大小
- 获取和设置函数 c++
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 在 C++ 中将函数获取和设置为虚拟函数
- Qt 原子 int 获取并立即设置
- 如何使用C++获取/设置OBS中的垂直滚动过滤器属性?
- 如何使用BOOST_HANA_ADAPT_ADT定义获取/设置对
- 如何直接从 FILETIME 结构获取/设置和获取秒数
- 如何获取设置位中的相对位置
- 获取设置故障位的流位置 / std::ios::抛出故障
- 在运行时获取/设置模板结构的静态成员
- 为什么获取/设置Auto_Ptr会导致此编译器错误
- 构造函数在哪里获取/设置默认分配器
- 在WinCE和Linux上获取/设置SystemTimeAdjustment
- 获取/设置功能以更改文本和颜色
- 运算符[] C++获取/设置
- Qt:从应用程序/可执行目录获取设置ini文件的问题
- 如何获取/设置字符数组
- 如何获取设置输入文件路径运行时