POr qué no es portable?
Código C++:
Ver original#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
using namespace std;
// Leer enteros por entrada y llevarlos a un vector e imprimir la salida.
int main ()
{
cout << "Nota: Si introduce menos de 10 numeros, los restantes tendran valor cero";
cout << " hasta completar dicho tamanio." << endl;
cout << endl << "Vaya introduciendo los numeros para un vector de tamanio 10.";
cout << "Cuando se desee dejar de introducir numeros, presione <Ctrl+Z>." << endl << endl;
vector<int> v(10);
istream_iterator<int> in (cin); // Iterador de entrada
ostream_iterator<int> out(cout, " "); // Iterador de salida, indica como quieres separar
// El copy tiene 3 parametros, los dos primeros dos ITERADORES de la primera
// estructura (origen) y otro ITERADOR para la estructura destino que nos dice
// desde donde queremos empezar a copiar en la estructura destino
copy (in, istream_iterator<int>(), v.begin());
// PRimer iterador, la entrada cin, segundo la marca de fin de fichero EOF,
// y tercero desde donde queremos copiar
cout << endl << endl << "El vector creado con el algoritmo generico copy es:" << endl << endl << "( ";
copy (v.begin(), v.end(), out);
cout << ")" << endl << endl;
return 0;
}