PDA

View Full Version : dubbio sul for...


Homra
22-05-2008, 15:59
nn capisco l'utilizzo del for con questo parametri...:muro:
for(;!Q.size(); ) {...}
grazie a tutti!

RaouL_BennetH
22-05-2008, 16:12
fai qualcosa all'infinito fin quando il valore è diverso dalla dimensione di Q ?

wizard_at
22-05-2008, 16:14
e' come dire
for { non fa nulla ; fino a quando quella funzione non rispondera' vero ; non fa nulla }

volendo la scrivi anche cosi'

for {int i=0; !Q.size(); i++}

come vedi i non influisce sul fatto che il ciclo for continui o meno.

grigor91
22-05-2008, 16:16
nn capisco l'utilizzo del for con questo parametri...:muro:
for(;!Q.size(); ) {...}
grazie a tutti!

E' un po' contorta. Un bel while andrebbe meglio.

khelidan1980
22-05-2008, 17:20
ma dove le tirano fuori certe cose,ci vuole fantasia però

DanieleC88
22-05-2008, 18:09
È perfettamente "legale" quanto perfettamente inutile, bastava un while... Se si scrive codice a caso poi esce fuori questa robaccia. :D

cdimauro
22-05-2008, 18:10
ma dove le tirano fuori certe cose,ci vuole fantasia però
Naaaaaa. Basta usare il C. :cool:

Tommo
22-05-2008, 18:17
Naaaaaa. Basta usare il C. :cool:

Beh... scrivere una cosa come quella è perversione, non è C :stordita:
Da notare anche lo spettacolare cast a bool dell'unisgned int restituito da size...
e il container chiamato con l'espressivissimo nome "Q".

Anche in C si può usare un ottimo while( Query.size() != 0) che fa esattamente la stessa cosa, e si capisce anche cosa è.

DanieleC88
22-05-2008, 18:23
Beh... scrivere una cosa come quella è perversione, non è C :stordita:
Quotone. :D
cosè.
:eekk:

cdimauro
22-05-2008, 18:26
Beh... scrivere una cosa come quella è perversione, non è C :stordita:
Concordo :p
Da notare anche lo spettacolare cast a bool dell'unisgned int restituito da size...
Questo è perfettamente lecito in C. Voglio dire: non è questione di cattivo uso delle sintassi, ma l'operatore ! funziona proprio così.
e il container chiamato con l'espressivissimo nome "Q".
Mumble. Io avrei messo Queue, se fosse una coda. :)
Anche in C si può usare un ottimo while( Query.size() != 0) che fa esattamente la stessa cosa, e si capisce anche cosè.
Idem come all'inizio. :)

Tommo
22-05-2008, 18:27
:eekk:

:doh: Editato :D


Questo è perfettamente lecito in C. Voglio dire: non è questione di cattivo uso delle sintassi, ma l'operatore ! funziona proprio così.


Beh so che funziona, ma nei tutorial prima si spiega cos'è e poi si spiega che non va usato :D
Almeno in quelli che ho letto io.

DanieleC88
22-05-2008, 18:30
:doh: Editato :D
Capita anche ai migliori. È solo che io sono ballbreaker. :p

cdimauro
22-05-2008, 18:34
Beh so che funziona, ma nei tutorial prima si spiega cos'è e poi si spiega che non va usato :D
Almeno in quelli che ho letto io.
Mi passi il link di qualcuno, così mi faccio 4 risate? :p

Tommo
22-05-2008, 18:46
Hmm... non ne ritrovo... l'avrò letto in giro.
Fatto sta che sapevo fosse sconsigliato per via di equivoci che possono nascere.

cdimauro
22-05-2008, 20:42
Francamente non mi risulta.

Diffida da queste "guide": meglio orientarsi su un bel libro scritto da persone competenti (eventualmente, ma non sempre, gli stessi creatori di un linguaggio). ;)

marco.r
22-05-2008, 20:51
Beh... scrivere una cosa come quella è perversione, non è C :stordita:
Da notare anche lo spettacolare cast a bool dell'unisgned int restituito da size...
e il container chiamato con l'espressivissimo nome "Q".

Anche in C si può usare un ottimo while( Query.size() != 0) che fa esattamente la stessa cosa, e si capisce anche cosa è.

Concordo ! Quel for e' così perfido che è facile capirlo sbagliato (per inciso, a prima vista sembra equivalente ad un while( Query.size() == 0 ) :p :D )

Homra
23-05-2008, 09:13
grazie a tutti.. alla fine c'ero arrivato da solo.... cmq nn è codice mio...(un avviso a tutti quelli che usano cellulari vodafone:i sistemi usati dal vostrop gestore si basano su codice con questa sintassi:D )

La cosa che non capisco è cosa diavolo è quella Q.
Viene definita come attributo della classe in questo modo:
queue<CReqArg> Q

Qualcuno sà cosa vuol dire???