Avatar ·

std::vector पर इटरेशन: unsigned बनाम signed इंडेक्स — क्या चुनें?

सभी को नमस्ते! मैंने हाल ही में C++ सीखना शुरू किया है और `std::vector` पर इटरेशन करते समय एक समस्या का सामना किया। जब मैं लूप लिखता हूं, तो मैं आमतौर पर `int i` का उपयोग करता हूं, लेकिन कंपाइलर (GCC) signed और unsigned की तुलना के बारे में चेतावनी देता है। यहाँ एक उदाहरण है: ```cpp #include #include int main() { std::vector vec = {1, 2, 3, 4, 5}; for (int i = 0; i < vec.size(); ++i) { // चेतावनी: signed/unsigned तुलना std::cout << vec[i] << " "; } return 0; } ``` चेतावनी: `warning: comparison between signed and unsigned integer expressions [-Wsign-compare]`. मैं समझता हूं कि `vec.size()` `size_t` (unsigned) लौटाता है, और मेरा `i` `int` (signed) है। अगर मैं `int` को `size_t` या `unsigned int` में बदल दूं, तो चेतावनी गायब हो जाती है। लेकिन तब मैं नहीं कर सकता