gpt4 book ai didi

c++ - 下标运算符后缀

转载 作者:行者123 更新时间:2023-11-30 03:09:12 26 4
gpt4 key购买 nike

C++ 标准将使用下标的表达式定义为后缀表达式。 AFAIK,此运算符始终采用两个参数(第一个是指向 T 的指针,另一个是枚举或整数类型)。因此它应该有资格作为二元运算符。

但是MSDNIBM没有将其列为二元运算符。

那么问题来了,什么是下标运算符?它是一元的还是二元的?可以肯定的是,它不是一元的,因为它没有在 5.3 美元中提及(至少是直截了当的)。

标准提到它在后缀表达式的上下文中的用法是什么意思?

最佳答案

我倾向于同意你的观点,因为 operator[] 是最严格意义上的二元运算符,因为它确实有两个参数:一个(可能是隐式的)对象引用,以及一些其他类型的值(不一定是枚举或整数)。但是,由于它是一个括号运算符,您可能会说标记序列 [x](其中 x 可能是任何有效的下标表达式)符合后缀一元的条件抽象意义上的运算符;想想柯里化(Currying)。

此外,例如,您不能重载全局 operator[](const C&, size_t)。编译器提示 operator[] 必须是非静态成员函数。

关于c++ - 下标运算符后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4302142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com