C'est beaucoup trop vague, déjà ça dépend le type d'affectation et le type de test... Mais d'une façon générale, que ce soit une affectation de variable ou un test, on ne peut pas dire comme ça que l'un est plus rapide que l'autre.
Dans un cas l'affectation est plus rapide, et dans un autre c'est le test. L'affectation var = 1 est plus rapide qu'un test comme if (strstr(buffer, string)). Inversement, buffer = realloc(buffer, strlen(string) + 1) est une affectation mais sera moins rapide qu'un test comme if (var == 1).
Ou alors je n'ai rien compris et tu faisais en fait référence à ça : if (ptr = strstr(buf, "string")) { ... }
et : ptr = strstr(buf, "string");
if (ptr) { ... }
Ici, c'est pareil au niveau du compilateur.
Il faudrait que tu précises le contexte, s'il y en a un. As tu des exemples précis dans un langage en particulier ?
# Pas de réponse unique
Posté par deneb . En réponse au message affectation != test. Évalué à 3.
Dans un cas l'affectation est plus rapide, et dans un autre c'est le test. L'affectation var = 1 est plus rapide qu'un test comme if (strstr(buffer, string)). Inversement, buffer = realloc(buffer, strlen(string) + 1) est une affectation mais sera moins rapide qu'un test comme if (var == 1).
Ou alors je n'ai rien compris et tu faisais en fait référence à ça :
if (ptr = strstr(buf, "string")) { ... }
et :
ptr = strstr(buf, "string");
if (ptr) { ... }
Ici, c'est pareil au niveau du compilateur.
Il faudrait que tu précises le contexte, s'il y en a un. As tu des exemples précis dans un langage en particulier ?