miércoles, 13 de mayo de 2015

10 - Tutorial de C++ en español - for_each y goto




En este capítulo continuamos trabajando con los búcles, concretamente emulando un búcle foreach a través de la función for_each() de la librería algorithm, también veremos la sentencia goto que nos permite saltar a un determinado punto del programa.

En el ejemplo utilizaremos por primera vez la librería vector para crear un array de strings y crearemos una función void que la utilizaremos en la función for_each() para obtener el valor de los elementos del array de strings.

foreach-goto.cpp


#include <iostream>
#include <string>
#include <algorithm> //for_each
#include <vector>

using namespace std;


/*
Función del tipo void, void significa ningún valor o tipo de datos, es utilizado en las funciones 
que no regresan ningún tipo de valor, es decir, no es necesario utilizar return para regresar un valor. 
cuando una función debe regresar un determinado valor de un tipo de datos, entonces es necesario declarar 
el tipo de datos en concreto.
*/
void getValue(string value)
{
  cout << value << endl;
}

int main()
{

 /* vector nos permite crear arrays unidimensionales de un determinado tipo, una de sus ventajas 
 es que podemos utilizar los modificadores de la clase para ir cambiando el contenido del array */
 vector<string> cadenas;
 cadenas.push_back("uno");
 cadenas.push_back("dos");
 cadenas.push_back("tres");
 
 /* Función for_each es útil para extraer los valores de los elementos de un array */
 for_each(cadenas.begin(), cadenas.end(), getValue);
 
 /* La sentencia goto nos permite saltar a otro punto del programa, este punto lo indicaremos 
 a través de una etiqueta */
 int saltar = 1;
 punto:
       cout << "Salto " << saltar;
       cin.get();
       saltar++;
       if (saltar <= 10) goto punto;

 system("PAUSE");
 return 0;
}