Visual C++ - C++/CLI - 后缀运算符'*'做什么?



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

(CI*)->

(*CI)->

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

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

(*ci)->

**ci

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

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

相关内容

  • 没有找到相关文章

最新更新