› Foros › Multiplataforma › Desarrollo
ffelagund escribió:Te respondo brevemente: Usa la STL siempre que puedas. El codigo que has puesto no es en absoluto dificil de leer, pero si quieres hacerlo un poco mejor, usa typedefs para las colecciones, así mañana cambias de vector a lista y el codigo no cambia nada. Yo llevo muchos años programando en C++ (profesionalmente) y te aseguro que la STL, paral 90% de los casos es suficientemente rapida, si la sabes usars bien (por ejemplo es mas barato añadir un elemento a una lista que a un vector, como cosa básica)
Por cierto, en vez de elemento++, usa ++elemento. Ahorras una variable temporal creada por el compilador, con su consiguiente carga en su creacion, copia y asignacion, y para un iterador, eso puede ser significativo.
Ejemplo:
typedef std::vector< vertex > TVertexCollection;
.
.
.
TVertexCollection vertices;
.
.
.
TVertexCollection::iterator iter = vertices.begin();
for(; iter != vertices.end(); ++iter )
{
Foo();
}
P.D: por productividad, la mayor máxima de la informatica es no reinventar la rueda. Si hay una libreria que hace algo, y sabes que lo hace bien, y la puedes usar (ya sea por licencia, precio, etc), ÙSALA.
En mi proyecto actual, usamos librerias para cargar/salvar imagenes, para generacion de topologias de mallas, para inicializar las extensiones de opengl, usamos la stl, usamos boost, usamos .NET para widgets. Simplemente sin stl ni boost, nuestro proyecto estaría en una fase muchisimo menos avanzada.