运算符 [] 重载更新 2 个值 c++

Operator [] overloading updating 2 values c++

本文关键字:个值 c++ 更新 重载 运算符      更新时间:2023-10-16

>有谁知道是否可以重载 [] 运算符并使用输入更新两个值。

给出的例子:

我现在的班级有以下功能:


void add(T1 input1, T2 input2)
{
// both variables are std::map
normal_map[input1] = input2;
reversed_map[input2] = input1;
}

但我希望 [] 运算符更新这两个值,例如:


class["input1"] = input2; // should do the same as the above add function

任何帮助将不胜感激

下标运算符仅用于通过单个返回的引用(cpp首选项(提供访问权限:

R& T::operator[](S b)

因此,如果不创建某种代理类,您将无法同时访问这两个映射,这将使通过下标运算符进行访问非常违反直觉。