假设我的程序中有一个非常性能关键的循环,我需要检查一个点是否在矩形内,但我知道在编译时下限始终为0,如下所示: (x >= 0 && y >= 0 && x < width && y < height)
我可以消除前两个比较的类型双关x和y的无符号整数(例如喜欢的东西reinterpret_cast<>()或union用C++),因为符号位将保证任何负数会变成一个unsigned int足够大的失败边界检查?如果是这样,您将如何用C++或其他语言实现它?这样做可以获得任何性能提升吗?