Este libro está dirigido a cualquier desarrollador que desee apren- der el lenguaje C ++ como parte de sus estudios o para consolidar su experiencia profesional. El primer capítulo presenta los aspectos básicos de la sintaxis del lenguaje, así como la organización de los programas. El siguiente capítulo es una transición a C++. En el siguiente capítulo, se explican los conceptos clave para crear sus primeras aplicaciones: gestión de la memoria, punteros, librería estándar, etc. El tercer...
Este libro está dirigido a cualquier desarrollador que desee apren- der el lenguaje C ++ como parte de sus estudios o para consolidar su experiencia profesional.
El primer capítulo presenta los aspectos básicos de la sintaxis del lenguaje, así como la organización de los programas. El siguiente capítulo es una transición a C++. En el siguiente capítulo, se explican los conceptos clave para crear sus primeras aplicaciones: gestión de la memoria, punteros, librería estándar, etc. El tercer capítulo detalla la estructura de los datos, que conduce a la programación orientada a objetos y los mecanismos específicos del lenguaje (herencia, modelos de clase, etc.). A continuación, se aborda la STL (Standard Template Library), que se presenta a través de los mecanismos más importantes: cadenas, estructuras de datos y rutas de colección. Después, se estudian las evoluciones del C++ moderno como las expresiones lambda, los smart-pointers y la inferencia de tipos, para tratar seguidamente la librería boost. En otro capítulo, se abre C++ a universos como el entorno gestionado .NET C++ CLI y las aplicaciones Win32.
Como ilustración de las posibilidades de C ++ para crear todo tipo de aplicaciones, el autor ofrece un ejemplo completo de una hoja de cálculo gráfica, un intérprete de lenguaje tiny-Lisp, un pro- grama de compresión de archivos e incluso una red de neuronas aplicada a un probador de cálculos.
El libro termina con un capítulo en el que se aplican los algoritmos principales de C++ relacionados con el reconocimiento de patrones, la búsqueda en un grafo y la compresión de datos.
2. Lectura con desplazamiento: el algoritmo Boyer-Moore
3. Método para los patrones autorrepetitivos:el algoritmo KMP
Encontrar el camino más corto
1. Presentación de los grafos
a. Incidencia y adyacencia
b. Camino de un grafo
c. El recorrido del grafo en anchura primer lugar
2. El algoritmo de Dijkstra
3. Utilización de un método con heurística:el algoritmo A*
Comprimir archivos
1. Enfoque estadístico: algoritmo Huffman
a. Aplicación de la codificación
b. Compresión de archivos
c. Descompresión
2. Enfoque por diccionario: el algoritmo LZW
a. Funcionamiento del algoritmo
b. Implementación del diccionario
c. Dimensionamiento y gestión de diccionarios
d. Programa de compresión
e. Programa de descompresión
Implementación de una red neuronal en C++
1. ¿Una red neuronal para algoritmos?
2. Implementación de una red neuronal en C++
3. Una clase abstracta para controlar la red
4. Modelización de una puerta lógica
5. Un motor de inferencia para aritmética deenteros
a. Aprendizaje de símbolos
b. Uso de la red
Brice-Arnaud GUÉRIN
Brice-Arnaud Guérin es ingeniero en ESIEA y director de programas en Kantar, así como autor de ENI desde 2003. Sus habilidades en el desarrollo y su deseo de compartir sus conocimientos lo han llevado de manera natural a escribir libros sobre la gestión de proyectos y la creación de aplicaciones (C++, .NET, PHP).