【发布时间】:2015-06-19 10:24:32
【问题描述】:
我是 C++/CLI 的新手,偶然发现了一个奇怪的符号。 这些语法是否等效?
(ci*)->
和
(*ci)->
【问题讨论】:
-
它可能有助于链接到您看到此代码的位置,或者显示一个更大的代码 sn-p 具有此功能
标签: visual-c++ c++-cli dereference notation
我是 C++/CLI 的新手,偶然发现了一个奇怪的符号。 这些语法是否等效?
(ci*)->
和
(*ci)->
【问题讨论】:
标签: visual-c++ c++-cli dereference notation
通常二进制 operator * 用于乘法:a * b。因为操作符可以由用户定义,它几乎可以表示任何含义,但不鼓励使用与原始操作符的含义完全不同的用法。至于 operator * 的一元后缀版本,这是我第一次看到或听到它,据我所知,这不是为内置类型定义的。
【讨论】:
据我所知,大多数与地址相关的运算符(&,*)应该放在变量之前,就像在你的情况下 *ci 表示 ci 指向的内容,然后是第二个指针表示法,即引用.
(*ci)->
和
一样**ci
但是我不认为你可以使用 (ci*)、post ++ 或 -- 是有效的,但我不相信你可以使用 *。
一般而言,我会避免使用后缀运算符,因为它们会产生其他问题(例如您正在评估的表达式之前和之后的值更改)。
【讨论】: