Tôi hiện đang học STL và tôi có một số điểm không chắc chắn về tìm và const iterators. Hãy nói rằng tôi có một chức năng tìm:C++ STL, hằng số vòng lặp, tìm()
some_stl_container::const_iterator found = myContainer.find(value);
Sau đó tôi nên kiểm tra những gì tôi đã cho found
chống const_iterator khác, hoặc là nó hợp lệ để thực hiện một kiểm tra đối với đơn giản là một iterator. Về cơ bản sẽ có được bất kỳ sự khác biệt giữa làm điều này:
if(found!=myContainer.cend())
và điều này:
if(found!=myContainer.end())
Các chàng đầu tiên chính xác hơn (ít nhất là với tôi), nhưng thứ hai sẽ làm việc tốt quá, phải không?
bản sao có thể có của [const để so sánh các biến số không const, chúng hợp lệ] (http://stackoverflow.com/questions/16900498/const-to-non-const-iterator-comparisons-are-they- hợp lệ) – juanchopanza
Xem xét rằng 'cend' không tồn tại cho đến khi C++ 11, phải có * một số * cách để làm điều đó. –