2013-04-28 8 views

Odpowiedz

20

Jest oceniany tylko jeden raz. Średnia mówi, że zasięg oparte pętli jest równoważny do tego:

§6.5.4 dla instrukcji Based zakres-[stmt.ranged]

{ 
    auto && __range = range-init; 
    for (auto __begin = begin-expr, 
     __end = end-expr; 
     __begin != __end; 
     ++__begin) { 
    for-range-declaration = *__begin; 
    statement 
    } 
} 

z range-init równoważne (bar()) w twoim przypadku (wyrażenie, które określisz, otoczone nawiasem). To wyrażenie jest oceniane tylko raz, jak widać.

Powiązane problemy