5

有很多与 operator[] 相关的问题只接受一个论点,但我找不到一个真正说明原因的问题。

matrix[0, 3]例如,调用ElementT& operator[](SizeT x, SizeT y)函数似乎是语言的一个非常自然的扩展。

是否有任何特殊原因(例如不兼容)该语法不在该语言中,或者除了缺乏动机实际上阻止它被添加之外的任何其他原因?

(注意:这已被标记为重复,但事实并非如此。这个问题是“为什么语言中没有这种语法?”而不是“我如何解决这个问题?”如前所述,有很多问题解决后者,但没有一个回答前者。)

4

1 回答 1

4

(在这个特定的上下文中很少使用)逗号运算符不仅是工作中的扳手,需要很长的过渡期才能使其标准化,我们已经有了人们使用的另一种解决方案:

ElementT& operator()(SizeT x, SizeT y)

一些野外的矩阵库使用这种形式。这有点难看,但欢迎使用 C++。:)

于 2014-10-11T14:38:23.613 回答