首頁  >  文章  >  後端開發  >  為什麼在使用迭代器計算點之間的距離時得到的距離不正確?

為什麼在使用迭代器計算點之間的距離時得到的距離不正確?

DDD
DDD原創
2024-11-01 00:11:28534瀏覽

Why am I getting incorrect distances when using iterators to calculate distances between points?

正確使用迭代器進行距離計算

嘗試計算儲存在向量中的點之間的距離時,您在程式碼中遇到錯誤。看來問題在於您使用迭代器的方式。

您的程式碼使用 std::vector 迭代器,它們是指向向量內元素的指標。但是,您將這些迭代器直接傳遞給距離函數,該函數需要指向點物件本身的指標。這種不匹配導致不正確的結果。

要解決此問題,您有兩個選擇:

選項1:取消引用迭代器

您可以取消引用迭代器來獲取對對應點物件的引用。這可以使用 * 運算子來完成。以下是修改後的程式碼:

選項2:在函數中使用引用

或者,您可以修改距離函數以直接引用點物件:

這樣,您就可以直接使用迭代器呼叫距離函數:

透過使用其中一種方法,您應該獲得中點對之間的正確距離計算你的向量。

以上是為什麼在使用迭代器計算點之間的距離時得到的距離不正確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn