我想重载[]运算符以用于我必须做的家庭作业的哈希表中。
我正在使用包含对的列表向量。std::vector <std::forward_list<std::pair<std::string, int>>>
我想要操作员执行的操作是返回给定对的另一部分,例如,如果存在对(“ test”,21),则通过写vectorname [“ test”]我应该得到21,或者如果我写入vectorname [“ test”] = 22时,应该修改该对。此外,不应有相同的键,或者如果要使用相同的键,则仅考虑第一个。
这是我的第一个堆栈溢出问题,对不起,如果我没有很好地说明问题。
答案 0 :(得分:0)
为了执行这种操作,您需要让operator []返回一个类似引用的类型,该类型可以分配给该类型(以便更新表)或仅用于(读取哈希表时)。您需要决定的关键是在表中没有键时该怎么办。
在前一种情况下,您只需返回对元素值的实际引用。在后一种情况下,您需要实现一个自定义的element_ref类,该类可以分配给(
<tr *ngFor="let pago of comprasVentasForm.tablaPagos">
<th>{{pago.numeroCuota}}</th>
<th>{{pago.fechaPago.format('YYYY-MMM-DD')}}</th>
<th>{{pago.valorCuota}}</th>
</tr>
),也可以隐式转换为元素值类型(在您的情况下为operator=
)。