我试图理解一些古老的代码,我遇到了似乎是从类型中减去的内容。这是一个古老的 C++ 习语吗?我一直在尝试推测,但如果 C++ 具有重载 operator-()
的“类型”类型,我什至无法猜测它会做什么。
int* array;
if(array[index] != (int)-1)
{
//do things
}
(我显然已经重构/删除了一些东西来简化它;这段代码确实可以编译和工作,但即使我单步执行,我也无法弄清楚这一行在做什么)
int
周围的括号可能是一个线索;我不确定他们能做什么。
最佳答案
这是 -1
转换为 int
,而不是减法。
正如 Jerry Coffin 很好地指出的那样,转换毫无意义(没有双关语意),因为该文字无论如何都是 int
类型。
关于c++ - 从类型中减去是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17460682/