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

时间:2013-07-04 01:45:52

标签: c++ types operator-overloading

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

int* array;
if(array[index] != (int)-1)
{
    //do things
}

(我显然已经重构/删除了一些内容以使其失效;这段代码确实可以编译和工作,但即使我单步执行,我也无法确定此行正在做什么) 围绕int的括号可能是一个线索;我不确定他们可以做什么。

1 个答案:

答案 0 :(得分:8)

这是-1强制转换为int,而不是减法。

正如Jerry Coffin所指出的那样,演员阵容毫无意义(没有双关语意),因为无论如何这个字面都是int类型。