从类型中减去是什么意思?

akr*_*roy 1 c++ types operator-overloading

我试图理解一些古老的代码,然后我遇到了似乎是从类型中减去的东西.这是一个古老的C++成语吗?我一直试图推测,但如果C++有一个带有重载的"类型"类型operator-(),我甚至无法猜测它会做什么.

int* array;
if(array[index] != (int)-1)
{
    //do things
}
Run Code Online (Sandbox Code Playgroud)

(我显然已经重构/删除了一些东西以便将其缩小;这段代码确实可以编译和工作,但即使我单步执行,我也无法弄清楚这行是做什么的)周围的括号int可能是一个线索; 我不确定他们会做什么.

Bor*_*der 8

这是-1一个int,而不是减法.

正如Jerry Coffin很好地指出的那样,演员是没有意义的(没有双关语意),因为int无论如何这个字面都是类型的.