【问题标题】:meaning of inline const char * operator*(AnEnumClass aclassinstance)inline const char * operator*(AnEnumClass aclassinstance) 的含义
【发布时间】:2021-10-21 22:27:29
【问题描述】:

下面是什么意思?

inline const char * operator*(AnEnumClass aclassinstance) {
    ...
}

是函数调用运算符重载'*' 运算符还是'()' 运算符? 它的作用和用途是什么?

【问题讨论】:

  • operator()()() 运算符的重载。

标签: c++ operator-overloading


【解决方案1】:
inline  // function should be marked as inline.
const char *  // function returns this
operator *  // function is the multiplication operator
(AnEnumClass aClassInstance)  // RHS argument to operator

无论封装类是什么,运算符都将其作为 LHS。

你调用它:

const char * aString = aClass * aEnum;

(给定封装类和枚举类型的实例。)

Wikipedia 和 cppreference.com 都有一个完整的关于运算符优先级和论证的页面,您应该仔细阅读。

【讨论】:

    【解决方案2】:

    这是 * 运算符的重载,它返回 const char *

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      相关资源
      最近更新 更多