内置功能,找到距离

use*_*957 7 c c++

c ++或c库中是否有任何内置函数可用于查找二维空间中两点之间的距离

PS:我知道如何自己实施.

Kon*_*lph 6

好吧,你可以对复数使用算术:

using point_t = std::complex<int>;

double distance(point_t a, point_t b) {
    std::sqrt(norm(b - a))
}
Run Code Online (Sandbox Code Playgroud)

我意识到这并不能完全满足你不编写自己的功能的要求,但实际的距离逻辑是在std::norm函数中实现的.它只返回距离的平方.

  • 根据一些有限的经验,我建议考虑平方根是否实际上是必要的操作.通常你可以用单独的距离平方来解决你所有的问题(记住平方是单调的),所以没有必要保持这种昂贵的操作. (2认同)