Herramientas de usuario

Herramientas del sitio


cpp-avanzado:c_11

C++11

En 2011 se aprobó una nueva versión de C++, llamada C++11. En C++11 se agregan varias características nuevas a C++ que permiten escribir muchas cosas de manera más simple.

En general, la sintaxis de varias cosas antes de C++11 era menos clara y conveniente. Recomendamos utilizar C++11, para lo cual basta compilar los programas con la opción -std=gnu++11 : se puede ver cómo activar C++11 aquí, bajo el título “Configuración de compilación con Geany”

Algunas de las características nuevas más importantes disponibles en C++11:

  • Inicialización con llaves vector<int> v{1,2,10};
  • Iteración con foreach: for (int x : v) { cout << x << endl; }
  • Palabras reservadas auto y decltype (similar al viejo typeof)
  • Closures y Lambdas
  • El tipo tuple
  • Los tipos unordered_set, unordered_multiset, unordered_map, unordered_multimap (Hash Tables)
  • La biblioteca regex, para uso de expresiones regulares
  • Move semantics
  • Delegating constructors
  • Expresiones como vector<vector<int>> funcionan (En C++03 es necesario escribir vector<vector<int> >)
  • Multithreading (aunque esto no es útil en OIA o IOI)
  • El tipo long long es parte del estándar (aunque casi todos los compiladores ya lo permitían)

Una lista mucho más detallada de los cambios se puede consultar en Wikipedia

cpp-avanzado/c_11.txt · Última modificación: 2023/11/29 15:17 por santo