在c++中使用包装的整数作为索引
Using a wrapped integer as index in C++?
假设我有一个(平凡的)类,在c++中包装普通int类型的随机整数,我如何在索引数组或从字符串中选择字符时使用该类的实例,如整数?
如果是操作符重载的问题,那么是哪个操作符?
作为一个具体的例子,我有一个Random类,我在字符串的随机位置选择字符,像这样:
string chars = "whatever";
Random R = Random(0, chars.length());
other_chars += chars.at(R.getValue());
但是,我宁愿用other_chars += chars.at(R);
,但是怎么用呢?
您需要一个用户定义的转换操作符。
class Random
{
int x_;
public:
operator int() const { return x_; }
};
您是否尝试在包装器Random
中重载operator int()
?我认为应该是这样的,
class Random
{
int value;
public:
// ... constructors and operator =
operator int () const { return value; }
};
您需要类型转换操作符重载:operator int() { return _value; }
。
相关文章:
- 跟随整数索引列表的自定义类迭代器
- 如果索引不是整数,我们如何在 C++ 中插入哈希表
- 如何更好地表示 6 个整数键而不是作为 6 维数组的索引?
- 如何使用递归函数返回数组中整数的索引?
- 我无法显示包含整数最大值的索引. 但我可以显示数组中整数的最高值
- 通过字符串的字符对整数数组进行索引
- 可以使用整数索引访问向量元素吗?
- 数组索引在地图上不是整数
- Char阵列中的特定索引的C 拉动签名整数
- 如何将整数存储在字符数组的单个索引中
- 阵列索引(转换为整数)用范围枚举
- SDL_JoystickName C++ 中的整数索引
- 将多个整数添加到一个向量索引? 'Cout'不起作用
- 在C++中为整数指针编制索引
- C++ 中 15000 数组索引之后的不相关整数标准输入
- 字符串下标超出范围.我不知道如何使用字符索引数组,所以我使用了(无符号整数),但它不起作用
- 如何使用模板创建排序映射整数索引
- 数组索引的类型:有符号/无符号整数先锋
- 使用链式#define来声明纯语言的整数索引是个好主意吗?
- 从整数索引的for循环枚举到range-for