Controleren op lege string in C++-alternatieven

Er zijn (tenminste 🙂 twee manieren om te controleren of een string leeg is in C++, in het bijzonder:

if (s.length() == 0) {
  // string is empty
}

en

if (s == "") {
  // string is empty
}

Welke is de beste vanuit prestatieoogpunt? Misschien is de bibliotheekimplementatie slim genoeg, zodat er geen verschil tussen hen is (in welk geval andere criteria zouden moeten beslissen, bijvoorbeeld leesbaarheid), maar ik ben geneigd te denken dat het eerste alternatief (met behulp van length()) is beter.

Heeft u hier feedback over, alstublieft? (Of zelfs een derde methode die beter is dan degene die ik heb voorgesteld).


Antwoord 1, autoriteit 100%

U kunt ook empty

. gebruiken

if(s.empty()) 

Antwoord 2, autoriteit 26%

U kunt het volgende gebruiken:

s.empty();
s.size() == 0;
!s.size();

Antwoord 3, autoriteit 9%

Ik zou emptyuit string bibliotheek

string.empty()

Other episodes