【问题标题】:C++/CLI - What does the postfix operator '*' do?C++/CLI - 后缀运算符“*”有什么作用?
【发布时间】:2015-06-19 10:24:32
【问题描述】:

我是 C++/CLI 的新手,偶然发现了一个奇怪的符号。 这些语法是否等效?

(ci*)->

(*ci)->

【问题讨论】:

  • 它可能有助于链接到您看到此代码的位置,或者显示一个更大的代码 sn-p 具有此功能

标签: visual-c++ c++-cli dereference notation


【解决方案1】:

通常二进制 operator * 用于乘法:a * b。因为操作符可以由用户定义,它几乎可以表示任何含义,但不鼓励使用与原始操作符的含义完全不同的用法。至于 operator * 的一元后缀版本,这是我第一次看到或听到它,据我所知,这不是为内置类型定义的。

【讨论】:

    【解决方案2】:

    据我所知,大多数与地址相关的运算符(&,*)应该放在变量之前,就像在你的情况下 *ci 表示 ci 指向的内容,然后是第二个指针表示法,即引用.

    (*ci)->
    

    一样
    **ci
    

    但是我不认为你可以使用 (ci*)、post ++ 或 -- 是有效的,但我不相信你可以使用 *。

    一般而言,我会避免使用后缀运算符,因为它们会产生其他问题(例如您正在评估的表达式之前和之后的值更改)。

    【讨论】:

      猜你喜欢
      • 2022-11-24
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2010-11-21
      • 2011-03-29
      • 1970-01-01
      相关资源
      最近更新 更多