Visual C++ .NET - Problema para crear una estructur

 
Vista:

Problema para crear una estructur

Publicado por sigi (1 intervención) el 16/10/2007 16:30:04
Hola

No consigo encontrar la forma de generar una estructura de este tipo:

equipo["jugador1"]["nombre"] = "Juan";
equipo["jugador1"]["edad"] = "30";

He encontrado la clase NameValueCollection, pero no es multidimensional.

Un saludo
SiGi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Crear una estructura de diccionarios anidados en C++

Publicado por Alejandro (265 intervenciones) el 02/02/2024 18:44:20
Sigi, para lograr una estructura similar a la que deseas, podrías utilizar diccionarios anidados en C++. C++ no tiene una implementación directa de diccionarios como en algunos lenguajes de script, pero puedes lograr esto utilizando tipos de datos estándar como `std::map` y `std::unordered_map`. Aquí hay un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <map>
#include <string>
 
int main() {
    // Definir un diccionario anidado
    std::map<std::string, std::map<std::string, std::string>> equipo;
 
    // Asignar valores
    equipo["jugador1"]["nombre"] = "Juan";
    equipo["jugador1"]["edad"] = "30";
 
    // Acceder a los valores
    std::cout << "Nombre del jugador1: " << equipo["jugador1"]["nombre"] << std::endl;
    std::cout << "Edad del jugador1: " << equipo["jugador1"]["edad"] << std::endl;
 
    return 0;
}

En este ejemplo, `equipo` es un `std::map` donde las claves son nombres de jugadores y los valores son `std::map` internos. Estos mapas internos contienen información adicional como el nombre y la edad del jugador.

Recuerda que este enfoque te permite tener un número variable de jugadores en tu equipo, y cada jugador puede tener un número variable de atributos. Además, asegúrate de gestionar adecuadamente la existencia de claves antes de intentar acceder a ellas para evitar errores.

Si necesitas algo más avanzado y estás dispuesto a utilizar bibliotecas externas, también podrías considerar bibliotecas JSON, como nlohmann/json, que facilitan la manipulación de datos estructurados en formato JSON en C++.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar