迭代std::vector:有符號索引變數與無符號索引變數
在C 中迭代向量時,可以使用有符號索引變數或無符號索引變數。但是,需要注意一些細微的差異。
通常首選使用無符號索引變量,因為它消除了負索引的可能性,而負索引會導致未定義的行為。例如,此程式碼正常運作:
但是,此程式碼會產生警告:
發生警告是因為比較i
Polygon.size() 介於有符號和無符號整數表達式之間。在某些情況下,這可能會導致意外的行為。 因此,在迭代向量時最好始終使用無符號索引變數。 您可能也喜歡使用迭代器而不是索引。迭代器提供了一種存取向量元素的更抽象的方式,它們可以幫助防止您犯錯。例如,您可以使用以下程式碼來迭代向量:一般來說,在迭代向量時使用迭代器而不是索引被認為是很好的做法。以上是迭代 std::vector 時應該使用有符號還是無符號索引變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!