• [^] # Re: bah non

    Posté par . En réponse au journal Le bon sens et le C++. Évalué à 2.

    Bon, en fait j'ai quand même répondu avec un peu de mauvaise foi, parce que le compilateur sait ou non s'il a besoin de compiler, et s'il y a un appel dynamique, il compile de toutes manières, j'imagine. Je ne sais pas s'il évalue par exemple si les variables sont potentiellement modifiables

    const int truc = 2;
    if (truc == 2)
     foo();
    

    vs

    int truc = 2;
    if (truc == 2)
     foo();
    

    vs

    int truc = 2;
    bar(truc);
    if (truc == 2)
     foo();
    

    parce que si void bar(int) ou void bar (const int&), alors foo() est mort, mais si void bar(int&), foo() est peut-être vivant, mais il y a moyen à partir du code de bar() de vérifier si la référence est potentiellement modifiée.