Stavo convertendo un algoritmo C ++ in C #. Mi sono imbattuto in questo per loop:
for (u = b.size(), v = b.back(); u--; v = p[v])
b[u] = v;
Non dà alcun errore in C ++, ma lo fa in C # (impossibile convertire int in bool). Non riesco davvero a capirlo per loop, dov'è la condizione?
Qualcuno può spiegare per favore?
PS. Solo per verificare, per adattare un VETTORE a un ELENCO b.back () corrisponde a b [b.Count-1]?
; u-- != 0;
b
, u
, v
, ecc L'unica ragione per cui sono stati chiamati in questo modo è perché qualcuno ha voluto essere eleganti, rendendo il loro codice illeggibile.
do
significa in C ++" - otterrà migliaia di hit da principianti che cercano un tutorial.
u--
. I punti e virgola vengono utilizzati per delimitare le varie partifor
dell'istruzione.