Was ist in dem Beispiel aus den Cpp Core Guidelines verschwendet?
S.9: Verschwenden Sie keine Zeit oder Platz
[...]
%Vor%Ja, das ist ein Beispiel aus dem Produktionscode. Wir überlassen es dem Leser herauszufinden, was verschwendet wird.
von Ссылка
Wie andere Fragesteller bereits festgestellt haben, wird strlen(s)
mehrmals aufgerufen, weil es sich in der Bedingung befindet, was bedeutet, dass es stattdessen zwischengespeichert und wiederverwendet werden sollte.
Aber strlen(s)
muss eigentlich gar nicht aufgerufen werden! s
ist (oder ist implizit konvertierbar) in ein Array mit nullter Endung char
, da das strlen
erwartet. Also können wir genau diese Eigenschaft für unsere eigene Schleife verwenden.
Tags und Links c++