Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] for con auto y dos puntos?

Estas en el tema de for con auto y dos puntos? en el foro de C/C++ en Foros del Web. Hola amigos les traigo otra duda he encontrado esta forma de usar los for, pero me asaltan muchas dudas, entiendo el auto pero supongo que ...
  #1 (permalink)  
Antiguo 21/02/2015, 21:54
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 9 años, 9 meses
Puntos: 1
for con auto y dos puntos?

Hola amigos les traigo otra duda he encontrado esta forma de usar los for, pero me asaltan muchas dudas, entiendo el auto pero supongo que será un iterador del vetor v pero no porque para mostrarlo se usa t y no *t. Entonces

Código C++:
Ver original
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.     vector<int> v(5, 8);
  8.  
  9.     for (auto t: v){
  10.         cout << " " << t << endl;
  11.     }
  12.  
  13.     cin.sync();
  14.     cin.get();
  15.     return 0;
  16. }

que es esa variable t?? y cómo funciona este for??

saludos
  #2 (permalink)  
Antiguo 21/02/2015, 23:02
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: for con auto y dos puntos?

Es un for basado en un rango de numeros dados.

A ver si con ese ejemplo te queda mas claro:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main (){
  5.    
  6.     int n[] = {1,20,3,4,5,66,7,8,9,100};
  7.    
  8.     for ( int i : n ){
  9.        
  10.         cout << i << " ";
  11.        
  12.        
  13.     }
  14.  
  15.     cin.ignore();
  16.     return 0;
  17. }

lo único que no use es auto, lo que hace auto es tomar el valor automático del tipo que le pases.
En tu caso va funcionar 2 veces pero en vez de la la t ir incrementando va tomar el valor 5 después el 8. t es el nombre de la variable es como auto i, o auto t, es su nombre XD.
  #3 (permalink)  
Antiguo 21/02/2015, 23:40
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: for con auto y dos puntos?

Hola gracias pero no te he entendido eso de " t ir incrementando va tomar el valor 5 después el 8" pero lo de "vector<int> v(5, 8);" quiere decir que se crea un vector de 5 casillas cada una de ellas con el valor de 8.

De lo otro entonces ese t es un iterador? pues por el auto t:v siendo v un vector.

En tu ejemplo es un i que va aumentando su valor supongo de 0 hasta 9.

saludos
  #4 (permalink)  
Antiguo 22/02/2015, 00:08
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: for con auto y dos puntos?

si uy se me paso jajaja
muy cierto... menos mal que estas atento jajaj

Para mas detalle busque en google "for range based"
  #5 (permalink)  
Antiguo 22/02/2015, 00:46
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: for con auto y dos puntos?

Hola; creo que vas a encontrar una explicación completa en:
http://en.cppreference.com/w/cpp/language/range-for
  #6 (permalink)  
Antiguo 22/02/2015, 07:13
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: for con auto y dos puntos?

Gracias a todos :D

Etiquetas: c++, ciclos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:01.