беззнаковых типов?
там же есть константы эти все в <limits>
std::string::npos так и заимплеменчен обычно
Я понимаю, но -1 быстрее и проще написать)
При чем тут std::string?
https://en.cppreference.com/w/cpp/string/basic_string/npos это -1 обычно потому что
быстрее и проще, но не очевидно
Вопрос именно в корректности, как стандарт языка определяет этот момент?
И неочевиднее, и его сложнее поддерживать будет, если ты захочешь в какой-то момент захочешь свичнуться на знаковые. Код должен быть хорошо читаемым
Так вообще некорректно!
А это вот не ваше дело, как он на конкретной платформе реализован
https://eel.is/c++draft/basic.string.general#3 static const size_type npos = -1;
Потому что используй константы из limits
Это не делает код некорректным
Способ с -1 корректный, разве что некрасивый
Обсуждают сегодня