La vérification de chaîne vide en C++ alternatives

Il y a (au moins 🙂 deux façons de vérifier si une chaîne est vide en C++, en particulier:

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

et

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

Qui est le meilleur du point de vue des performances? Peut-être que la mise en œuvre de bibliothèque est assez intelligent donc il n'y a pas différents entre eux (dans ce cas, d'autres critères doivent décider, c'est à dire lisibilité), mais j'ai tendance à penser que la première alternative (à l'aide de length()), c'est mieux.

Tout commentaire, s'il vous plaît? (Ou même une 3ème méthode meilleure que celles que j'ai proposé).

Que diriez -std::string::empty?
Qu'en est S == null?
Il n'y a pas null en C++ (il est appelé nullptr), et aussi un std::string variable ne peut pas être null. Seuls les pointeurs peuvent être null.
Même dans les langues où ce serait valide, tels que Java, "pas de chaîne à tous" n'est pas la même que la chaîne vide.

OriginalL'auteur fgalan | 2017-01-02