Hay personas felices trabajando con boost y Qt. En mi proyecto actual "incrustado" tengo que usar clases de contenedores de fabricación casera. OK, suficiente queja.Implementación de Foreach en C++, el enfoque de un pobre Pobre
He tratado de poner en práctica un foreach fácil y autónomo de esa manera:
#define ForEachString(S,C) TString S;\
for (int i=0; i<C.GetSize() && (!!(&(S=C[i]))); ++i )
Se itera a través de una lista de cadenas que tiene métodos GetSize (op) [] y. Por ejemplo:
TStringList tables;
ForEachString(table, tables)
{
//do sth. with tab.
}
De causa, lo feo es que cada tipo de contenedor requiere su propia macro. Por lo tanto, mi pregunta: ¿Es posible hacerlo contenedor independiente y aún autónomo (todas las cosas necesarias dentro de la definición de macro)?
Saludos, Valentin
La respuesta es "sí", y la explicación se puede encontrar [aquí] (http://www.artima.com/cppsource/foreach.html). –
Simplemente siga los nombres de los métodos similares a STL. – werehuman
No lo haga, no es estándar y no ayuda mucho a la legibilidad, y puede ocultar problemas como las definiciones duplicadas –