Si eres programador de C++, no te quedes atrás y ponte las pilas con C++ Moderno, porque ya viene pisando fuerte desde hace unos añitos y cada vez se está haciendo notar más.
Con las nuevas especificaciones del lenguaje de programación C++ (C++11, C++14, 17 ...) vienen, como es lógico, nuevas características interesantes y poderosas que no podemos dejar de utilizar por desconocimiento. Así, aunque podemos seguir programando en C++ "antiguo", hacer caso omiso de las nuevas características del lenguaje impedirá, entre otras cosas, que seas más productivo.
Como ejemplo, puedes echar un vistazo a esta función que localicé hace tiempo por Github (https://gist.github.com/goldshtn/7433212) en la cual puedes ver algunas de estas nuevas características del lenguaje:
#include <iostream> | |
#include <future> | |
using namespace std; | |
template <typename Fn, typename... Args> | |
auto do_async_with_log(ostream& os, Fn&& fn, Args&&... args) -> | |
future | |
{ | |
os << "[TID=" << this_thread::get_id() | |
<< "] Starting to invoke function..." << endl; | |
auto bound = bind(fn, forward | |
return async([b=move(bound),&os]() mutable { | |
auto result = b(); | |
os << "[TID=" << this_thread::get_id() | |
<< "] ...invocation done, returning " << result << endl; | |
return result; | |
}); | |
}
Cualquier programador de C++ de "la vieja escuela", posiblemente al observar este código se pregunte ¿Esto es C++? Pues sí, pero esto es C++ Moderno.
Algunas de las nuevas características que debieras ir mirando son:
|
Comentarios
Publicar un comentario