Diferencia entre revisiones de «Programación en C++/Librería Estándar de Plantillas\Iteradores»

Contenido eliminado Contenido añadido
El lobo (discusión | contribs.)
El lobo (discusión | contribs.)
Línea 92:
return EXIT_SUCCESS;
}</source>
De acuerdo con la referencia de ayuda de Dev-C++ es más seguro emplear el método '''at()''' en lugar el eperador '''[]''' para leer o escribir componentes en un vector, ya que '''at()''' no permite índices fuera del vector, y el operador '''[]''' sí. Por ejemplo, si '''V''' es un vector cuyo número de componentes es de 3, entonces la instrucción '''V[5];''' es sumamente peligrosa ya que el índice 5 está fuera del rango (0 a 2 ) de los componentes de V; por otro lado, la instrucción '''V.at(5);''' también está fuera de rango, salvo que at() en lugar de leer o escribir el componente referenciado lanzará (throw) un error de excepción, de tal manera que en el programa se pueda controlar la condición de error por medio de un catch. El método at() actua de manera parecida al operador [], y para ver un ejemplo de su uso compile y ejecute el siguiente programa.
 
<source lang=cpp>
 
 
 
 
De acuerdo con la referencia de ayuda de Dev-C++ es más seguro emplear el método at() en lugar el eperador [] para leer o escribir componentes en un vector, ya que at() no permite índices fuera del vector, y el operador [] sí. Por ejemplo, si V es un vector cuyo número de componentes es de 3, entonces la instrucción V[5]; es sumamente peligrosa ya que el índice 5 está fuera del rango (0 a 2 ) de los componentes de V; por otro lado, la instrucción V.at(5); también está fuera de rango, salvo que at() en lugar de leer o escribir el componente referenciado lanzará (throw) un error de excepción, de tal manera que en el programa se pueda controlar la condición de error por medio de un catch. El método at() actua de manera parecida al operador [], y para ver un ejemplo de su uso compile y ejecute el siguiente programa.
 
// Demostracion del uso del método at()
// programa OOP302.CPP
// probado en: Dev-C++ 4.9.9.2
 
Línea 111 ⟶ 106:
int main(int argc, char *argv[])
{
vector<char> v;
 
for (int ix = 0'A'; ix <= v.size()'Z'; ix++)
v.push_back(x);
 
for(int i = 0; i < v.size(); i++)
cout << v.at(i) << " ";
 
for (int x = 'A'; xcout <=< 'Z'endl; x++)
v.push_back(x);
 
system("PAUSE");
for(int i = 0; i < v.size(); i++)
return EXIT_SUCCESS;
{
}</source>
cout << v.at(i) << " ";
}
cout << endl;
 
system("PAUSE");
return EXIT_SUCCESS;
}
</div>