Retorno a C++11

Preámbulo

Las páginas del blog que traten sobre C++ se van a centrar, sobre todo, en refrescar la sintáxis del lenguaje y las características que son específicas de C++,  haciendo el mayor uso posible de los nuevos elementos que se han introducido con C++11, en especial lo que pueda ser utilizado en el uso en C++ de la programación funcional.

Otros centros de interés son STL y la implementación de algoritmos.

 

Selección del ejemplo a ejecutar

main.cpp
El usuario elige el índice de la función que desea ejecutar. Las funciones se definen  en otros archivos del proyecto, por ejemplo Leccion1.cpp , y   se incluyen en un vector,  definido usando una lista de inicialización. Se ha definido un tipo tipofuncion: puntero a función sin argumentos que devuelve un entero

#include <iostream>
#include "Leccion1.h"
#include <vector>

int main(int argc, const char * argv[])
{
    typedef int (*tipofuncion)();

    std::vector<tipofuncion> funciones={ejemplo1, ejemplo2};

    std::string numero_funciones=std::to_string(funciones.size());

    std::cout << "Índice de la función , 1 a "+  numero_funciones<<std::endl; 

    int indice=0;

    std::cin >> indice;

    tipofuncion funcion=funciones[indice-1];

    funcion();

   // también es correcto  funciones[indice-1]();

}

El archivo
Leccion1.cpp
contiene la definición de las funciones. El contenido de este archivo puede ir cambiando a medida que se añadan nuevas funciones.