C++中的下标运算符
subscript operator in C++
是下标运算符[]一元还是二进制操作符?
我对C++还很陌生,正在经历操作员操作加载,我很好奇下标是一元还是二进制?
下标运算符是严格意义上的二进制运算符,因为它接受两个参数,即对对象的引用和值。
int arr[3];
在这里,您可以看到[]运算符同时使用arr和3。
根据C++标准
13.5.1一元运算符
1前缀一元运算符应由非静态成员实现函数(9.3(没有参数。。。
和
13.5.2二进制运算符
1二进制运算符应由非静态成员实现函数(9.3(带有一个参数。。。
因此,下标运算符是一个二进制运算符。
C++中的一元运算符是:
unary-operator: one of
* & + - ! ~
也可以添加到一元运算符
++ cast-expression
-- cast-expression
相关文章:
- 一组值的零开销下标运算符
- 如何重载下标运算符 [] 以引用 2d STL 数组?
- 有什么理由不扩展 std::set 以添加下标运算符吗?
- 在继承的模板类中使用下标 [] 运算符
- 运算符重载多个任务的下标和赋值运算符
- 为什么函数的任何索引处的下标运算符在C++中总是返回1
- c++下标运算符到下级类向量
- 数组下标运算符 ([ ]) 对数组有什么作用?
- 双标具有下标运算符的原因是什么?
- 下标是否在分配运算符的右侧进行评估
- 基成员的重载下标运算符
- SFINAE 为什么我没有检测到 std::vector 的下标运算符?
- 如何重载下标运算符以返回可以是左值的可选值?
- C++下标运算符的继承规则
- 使用带有下标运算符的赋值运算符将值分配给 std::map
- 如何从重载的下标 [] 运算符返回 std::unique_ptr&?
- 为下标运算符和函数调用运算符提供默认参数
- C++ 下标运算符
- 运算符() 作为矩阵类的下标
- 将类实例作为指针传递,并在此指针上使用过载的下标运算符