有很多与运算符[]只有一个参数有关的问题,但我找不到真正说明原因的问题。为什么operator []只有一个参数?
例如,matrix[0, 3]
调用ElementT& operator[](SizeT x, SizeT y)
函数似乎是该语言的一种非常自然的扩展。
是否有任何特殊的原因(如不兼容),这种语法不是在语言中,或者除了缺乏动机,实际上阻止它被添加? (注意:这已被标记为重复,但不是,这个问题是“为什么不是这种语言的语法?”而不是“我该如何解决这个问题?”。如上所述,在那里有很多问题可以解决后者,但没有回答前者的问题。)
可能与'a [1,3]'目前已经完全有效的语法(','是逗号运算符)有关。 – 2014-10-11 14:35:08
https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/tOJx2TcHpH0 – chris 2014-10-11 14:35:16
运算符在C++中的重载并不能真正改变重载操作符如何工作的基础知识,在C++中没有运算符'[]',它具有多个值。 – 2014-10-11 14:35:40