• Viernes 9 de Mayo de 2025, 18:31

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ragnarok

Páginas: 1 [2]
26
C/C++ / Re: Algoritmos De Busqueda
« en: Lunes 12 de Julio de 2004, 13:48 »
- Búsqueda en Profundidad (BEP)
1. Buscar en el nodo actual, si lo encuentras has acabado.
2. Pasar a  un nodo hijo no visitado y volver al paso 1. Si el nodo no tiene hijos (es una hoja) o has visitado todos los hijos ir al paso 3.
3. Volver al nodo anterior y pasar al paso 2. Si no hay un nodo anterior has acabado.

- Busqueda en anchura (BEA)
No es eficiente computacionalmente. Pero por si a alguien le interesa es de la siguiente manera:
1. Seleccionar el primer nodo.
2. Buscar en los nodos seleccionados. Si lo encuentras has terminado.
3. Seleccionar los hijos de los nodos seleccionados e ir al paso 2. Si ninguno tiene ningun hijo has terminado.

27
C/C++ / Re: Alguna Función Que Elimine Variables?
« en: Viernes 2 de Julio de 2004, 22:12 »
Supongo que lo que quieres es una función para devolver la memoria dinámica que has reservado, tienes "free" en C y "delete" en C++.

Lo que si te pediría es que no escribas así porque no hay quien lo lea.

28
C/C++ / Re: Problema Con Templates En C++
« en: Miércoles 30 de Junio de 2004, 17:20 »
No no, lo que yo digo es que puedes hacer un fichero de cabecera.h que contenga la plantilla con sus métodos sin que estos sean inline de la siguiente manera:

Código: Text
  1. #ifndef CPlantilla_H
  2. #define CPlantilla_H
  3.  
  4.    template <class T>
  5.    class CPlantilla{
  6.        public:
  7.          CPlantilla(T var);
  8.          private:
  9.            T m_var;
  10.    };
  11.    
  12.    template <class T> CPlantilla<T>::CPlantilla(T var){
  13.        m_var = var;
  14.    }
  15.  
  16. #endif
  17.  

Creo que de esta manera los métodos no son inline, aunque la declaración esté con la implementación en el mismo fichero.

PD: He tenido que editar el post porque parecía que compilaba si ponía el método en un fichero de implementación .cpp, pero creo que ha sido una confusión por no hacer makeclean.

29
C/C++ / Re: Problema Con Templates En C++
« en: Martes 29 de Junio de 2004, 22:36 »
Yo estoy aprendiendo programación orientada a objetos ahora mismo, pero hasta donde yo se lo que hay que hacer para que los métodos no sean inline es escribir su implementación fuera de la declaración de la clase (o plantilla) aunque sea en el mismo fichero. Si además puedes implementarlos en otro fichero el código puede quedar más claro (si es posible) y puede ser mejor, aunque solo sea porque los ficheros .h son sólo de declaración y los .cpp de implementación.

Supongo que además has creado un proyecto para que linke todos los archivos del proyecto juntos.

De todas formas los constructores suelen ser inline, aunque supongo que las clases que realmente quieres hacer son más complejas que las que has puesto en los ejemplos.

Páginas: 1 [2]