CIndiceMagico()
{
m_cant = 0 ;
- m_nombres = (std::string*)calloc(sizeof(std::string), MAX_ELEMENTOS) ;
- m_datos = (T*)calloc(sizeof(m_datos), MAX_ELEMENTOS) ;
+ m_nombres = new std::string[MAX_ELEMENTOS];
+ m_datos = new T[MAX_ELEMENTOS];
if (!m_nombres)
}
+ ~CIndiceMagico()
+ {
+ delete m_nombres;
+ delete m_datos;
+ }
+
public:
void add(const char* nombre, const T dato)
{
}
- void set_val(const std::string nombre, T valor)
+ void set_val(const std::string& nombre, T valor)
{
for (unsigned i=0; i<m_cant; i++)
- if (m_datos[i]!=valor)
- m_datos[i] ;
+ if (m_nombres[i] == nombre)
+ {
+ m_datos[i] = valor;
+ return;
+ }
+ add(nombre.c_str(), valor);
}