我是C++/CLI 的新手,我偶然发现了一个奇怪的符号。这些语法是否等效?
(CI*)->
和
(*CI)->
通常二进制operator *
用于乘法:a * b
。由于运算符可以由用户定义,因此它几乎可以表示任何内容,但不鼓励使用与原始运算符含义完全不同的用途。至于operator *
的一元后缀版本,这是我第一次看到或听到它,据我所知,这不是为内置类型定义的。
据我所知,大多数与地址相关的运算符 (&, *) 应该在变量之前,就像在您的情况下 *ci 表示 ci 指向什么,然后是第二个指针表示法,即引用的内容。
(*ci)->
与
**ci
但是我认为你不能使用(ci*),post ++或-是有效的,但我不相信你可以做一个*。
一般来说,我会避免使用后缀运算符,因为它们会产生其他问题(例如,在计算表达式之前和之后的值更改)。