Недавно во время обсуждения меня попросил программист внести некоторые изменения в код. У меня было что-то вроде:
if( mystring.size() == 0)
// do something
else
// do something else
Обсуждалось использование mystring.empty()
для проверки, является ли строка пустой. Теперь я согласен, что можно утверждать, что string.empty()
более подробный и читаемый код, но есть ли какие-либо преимущества в производительности?
Я немного поработал и нашел эти 2 ответа, относящиеся к моему вопросу:
Оба ответа подтверждают мое утверждение о том, что string.empty()
является более читаемым и не дает каких-либо преимуществ по производительности, по сравнению с string.size() == 0
.
Я все еще хочу быть уверенным, если есть какие-либо реализации string
, которые сохраняют внутренний логический флаг для проверки, является ли строка пустой или нет?
Или существуют другие способы использования некоторых реализаций, которые аннулируют мое требование?