Vector de tipo struct en C++ con código de ejemplo

Vector de struct en C++

Hoy vamos a ver cómo usar un vector de structs o un vector lleno de struct en C++.

Te enseñaré a declarar un vector de tipo struct, devolver uno de una función, agregarle contenido, recorrerlo y también recibirlo como parámetro.

Vector de tipo struct en C++

Comencemos declarando nuestra estructura en C++, para más tarde usarla en un vector de structs. En este caso usaré algo muy básico: un struct de persona con nombre y edad:

struct Persona
{
	int edad;
	string nombre;
};

Para declarar un vector de struct hacemos lo siguiente:

vector<Persona> personas;

En donde estamos indicando el tipo entre los signos de < y >.

Si queremos devolver un vector de struct en una función lo indicamos así:

vector<Persona> obtener_personas()
{
	/**/
}

Por otro lado, para recibirlo como parámetro en una función se indica así:

void imprimir_personas(vector<Persona> personas)
{
  /**/
}

Poniendo todo junto

Veamos las siguientes funciones que llenan un vector de tipo struct, lo recorren y ponen en práctica los ejemplos que vimos anteriormente, todo esto en lenguaje C++:

// https://parzibyte.me/blog
#include <iostream>
#include <vector>

using namespace std;

struct Persona
{
	int edad;
	string nombre;
};

vector<Persona> obtener_personas()
{
	vector<Persona> personas;
	personas.push_back(Persona{40, "Luis"});
	personas.push_back(Persona{18, "Fer"});
	return personas;
}

void imprimir_personas(vector<Persona> personas)
{

	int i;
	for (i = 0; i < personas.size(); i++)
	{
		Persona persona = personas.at(i);
		cout << "Tenemos a la persona " << persona.nombre << " con edad " << persona.edad << "\n";
	}
}

int main(int argc, char const *argv[])
{
	imprimir_personas(obtener_personas());
	return 0;
}

Declaramos el struct en la línea 7, luego una función que recibirá un vector de tipo struct en la línea 13, en esa misma función agregamos contenido al vector con push_back, agregando un struct anónimo.

Luego en la línea 21 declaramos la función que recibe un vector de struct, lo recorremos en la línea 25 e imprimimos los datos en la línea 28.

Finalmente usamos ambas funciones en la línea 34, con el siguiente resultado:

Vector de tipo struct en C++ con código de ejemplo
Vector de tipo struct en C++ con código de ejemplo

Para terminar te dejo con más ejemplos de código C++ en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *