miércoles, 12 de octubre de 2011

cout de un vector o array de un tipo en una instruccion con iterador

Es una chorrada....pero ahorra un poquito de tiempo.

Si queremos imprimir rapido un vector a la salida estandard.

  std::vector<int> V;
  V.push_back(2);
  V.push_back(4);
  V.push_back(6);
  copy(V.begin(), V.end(), ostream_iterator<int>(cout, " "));

Si lo que quieres es imprimir un array de cualquier tipo:
    float * aa = new float [10];

    for(int i=0; i<10;i++) aa[i]=i+0.456;

    copy(pAABegin,pAAEnd,ostream_iterator<float>(cout," - "));


   //Y esto es un ejemplo de copiar un array a otro con iteradores y la funcion copy de la stl






    short * bb = new short [10];

    float * pAABegin=&aa[0];
    float * pAAEnd=&aa[9];
    copy(pAABegin,pAAEnd,&bb[0]);
    std::cout << std::endl;
    copy(&bb[0],&bb[9],ostream_iterator<short>(cout , " - "));

No hay comentarios:

Publicar un comentario