是下标运算符 [] 一元或二进制运算符?
我对C ++很陌生,并且经历了运算符operloading并且想知道 是下标一元或二进制?
答案 0 :(得分:4)
下标运算符在严格意义上是二元运算符,因为它接受两个参数,即对象的引用和值。
int arr[3];
在这里你可以看到[]运算符同时使用了arr和3。
答案 1 :(得分:2)
根据C ++标准
13.5.1一元运算符
1前缀一元运算符应由非静态成员实现 功能(9.3)没有参数 ...
和
13.5.2二元运算符
1二元运算符应由非静态成员实现 功能(9.3)带一个参数 ...
因此下标运算符是二元运算符。
C ++中的一元运算符是:
unary-operator: one of
* & + - ! ~
也可以添加到一元运算符
++ cast-expression
-- cast-expression