View Full Version : [C++] For each
Ciao, vorrei sapere se nel C++ il ciclo for each esiste solo nell'implementazione del Visual Studio o se è presente anche nel gcc.
Con Visual studio infatti non ho problemi a compilare del codice che lo contiene mentre con devC++ ottengo questo errore:
each undecleared, expecting '(' before each
stdecden
01-04-2008, 17:26
No, non esiste nel c++ il foreach. Per quali classi ti serve? Le STL per caso??? :confused:
No, non esiste nel c++ il foreach. Per quali classi ti serve? Le STL per caso??? :confused:
Dovrei utilizzarlo sulle liste, con Visual studio utilizzavo la classe list
stdecden
01-04-2008, 17:32
Se non sbagli allora devi fare:
#include <list>
...
std::list<int> array();
for(std::list<int>::iterator i = array.begin(); i != array.end(); i++)
{
...
// Fai qualcosa
std::cout << (*i);
...
}
P.S. Spero sia giusto, ultimamente sto faciendo c# e java percui ci potrebbe essere qualche errore
jappilas
01-04-2008, 17:59
forse stavi pensando a questo (http://www.sgi.com/tech/stl/for_each.html) ?
forse stavi pensando a questo (http://www.sgi.com/tech/stl/for_each.html) ?
No, con VS riesco a compilare proprio for each(int a in listaDiInteri){..}
Se non sbagli allora devi fare:
#include <list>
...
std::list<int> array();
for(std::list<int>::iterator i = array.begin(); i != array.end(); i++)
{
...
// Fai qualcosa
std::cout << (*i);
...
}
P.S. Spero sia giusto, ultimamente sto faciendo c# e java percui ci potrebbe essere qualche erroreDevC++ non protesta più.
Ora però ho un altro problema, con Visual Studio avevo pragma once che DevC++ non riconosce, come posso sostituirla?
kernel::panic
01-04-2008, 18:25
Ora però ho un altro problema, con Visual Studio avevo pragma once che DevC++ non riconosce, come posso sostituirla?
All'interno dei .h puoi mettere un costrutto tipo questo che garantisce che il file venga processato solo una volta:
#ifndef _MIO_FILE_H_
#define _MIO_FILE_H_
// Codice del file
#endif
RaouL_BennetH
01-04-2008, 19:16
scusa, ma per il "for each", non dovrebbe essere scritto: for_each ?
http://www.cplusplus.com/reference/algorithm/for_each.html
All'interno dei .h puoi mettere un costrutto tipo questo che garantisce che il file venga processato solo una volta:
#ifndef _MIO_FILE_H_
#define _MIO_FILE_H_
// Codice del file
#endif
Perfetto, grazie
scusa, ma per il "for each", non dovrebbe essere scritto: for_each ?
http://www.cplusplus.com/reference/algorithm/for_each.html
Con Visual C++ si ha a disposizione un for each molto simile a quello presente in linguaggi come C# e Java, molto più comodo dell'implementazione con gli iteratori
http://blogs.msdn.com/arich/archive/2004/09/08/227139.aspx
tomminno
02-04-2008, 07:41
Perfetto, grazie
Con Visual C++ si ha a disposizione un for each molto simile a quello presente in linguaggi come C# e Java, molto più comodo dell'implementazione con gli iteratori
http://blogs.msdn.com/arich/archive/2004/09/08/227139.aspx
Quello non è C++ ma un altro linguaggio (chiamato C++/CLI).
Quello non è C++ ma un altro linguaggio (chiamato C++/CLI).
Confermo.
In VS nuovi ci sono 2 tipi di C++
- Il VC++ classico
- Una versione managed del C++, parente stretto del VB.net e del C#, con features quali la garbage collection, piena integrazione con il framework, etc.
Normalmente si sconsiglia l'uso di quest'ultimo. Si propende per usare direttamente il VC++ originale oppure il C# (o il VB.net, ma piu' raro in ambito professionale).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.