Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
highlevel:c:xtra [2008/05/28 20:17] alfred |
highlevel:c:xtra [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== Xtra ====== | + | ====== C\C++ Xtra ====== |
| ===== Lenguaje ===== | ===== Lenguaje ===== | ||
| Línea 386: | Línea 386: | ||
| * [[highlevel:c:advancing#smart_pointers|auto_ptr]] | * [[highlevel:c:advancing#smart_pointers|auto_ptr]] | ||
| Aún así, quedan elementos por ver: | Aún así, quedan elementos por ver: | ||
| + | |||
| + | |||
| ==== Los mapas ==== | ==== Los mapas ==== | ||
| Los hashmaps y diccionarios de Java tienen su equivalente en C++ en la clase ''std::map<tipo1, tipo2>''. \\ | Los hashmaps y diccionarios de Java tienen su equivalente en C++ en la clase ''std::map<tipo1, tipo2>''. \\ | ||
| + | * Declaración | ||
| + | <code cpp> | ||
| + | std::map<std::string, std::string> configMap; | ||
| + | </code> | ||
| + | * Insertar | ||
| + | <code cpp> | ||
| + | configMap.insert(std::pair<std::string, std::string>(Name, Value)); | ||
| + | </code> | ||
| + | * Modificar | ||
| + | <code cpp> | ||
| + | this->configMap[name] = value; | ||
| + | </code> | ||
| + | * Consultar | ||
| + | <code cpp> | ||
| + | std::string value = this->configMap[name]; | ||
| + | </code> | ||
| + | * Recorrer | ||
| + | <code cpp> | ||
| + | std::map<std::string, std::string>::iterator it; | ||
| + | for(it = this->configMap.begin(); it != this->configMap.end(); ++it) { | ||
| + | std::string strKey = it->first; | ||
| + | std::string strValue = it->second; | ||
| + | } | ||
| + | </code> | ||
| + | * Saber si existe una clave (se llama al método find, si este devuelve ''mapa.end()'' es que no): | ||
| + | <code cpp> | ||
| + | std::map<std::string, std::string>::iterator it = myMap.find("adios"); | ||
| + | if (it == myMap.end()) ... // No encontrado | ||
| + | </code> | ||
| ==== Las listas ==== | ==== Las listas ==== | ||