C++ 的operator[] 可以接受多个参数吗?

2023-12-12

是否可以定义一个重载operator[]这需要多个参数吗?也就是说,我可以定义operator[]如下:

  //In some class
  double operator[](const int a, const int b){
     return big_array[a+offset*b];}

然后像这样使用它?

double b=some_obj[7,3];

不,你不能超载operator[]采取多个论点。代替

double b = some_obj[7,3];

use

double b = some_obj[7][3];

这个答案解释了如何创建代理对象以便能够实现后者。

否则,你可能会超载operator()采用 2 个参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 的operator[] 可以接受多个参数吗? 的相关文章

随机推荐