Estándar de C++

Estándar de C++

de Gennaro Vincenzo Monetti Cracco -
Número de respuestas: 1

¿Podemos usar un estándar de C++ específico?

Queremos usar lo siguiente: g++ ... --std=c++17

Ya probamos en las máquinas de facultad y funciona perfectamente. En la letra no dice qué estándar hay que usar. Si no se puede usar el 17, ¿cuál hay que usar? Queremos saber específicamente cuál es el que hay que usar así podemos configurar el IDE y hacer los cambios que correspondan.

Usamos pocas características del 17 (algunas son del 11), por ejemplo:

1) auto.
2) for con esta sintáxis que usa ":".
for (auto item : this->items) {
    ...
}

3) nullptr: para dejar punteros apuntando a NULL.
4) noexcept: directiva para el compilador, no cambia el comportamiento.
5) std::move: para no tener que copiar muchas veces un objeto que se pasa por parámetro en un método.
6) constexpr: usado por el compilador para inyectar una constante en tiempo de compilación. Por ejemplo:
constexpr int CONSTANTE = 2;
cout << CONSTANTE;
Pone 2 en el lugar de CONSTANTE en tiempo de compilación.
7) override: directiva para el compilador que marca que un método es un override de un método virtual.