web-dev-qa-db-fra.com

Comment puis-je utiliser les fonctionnalités C ++ 11 dans Clang?

Comment puis-je utiliser les dernières fonctionnalités C++ 11 dans Clang? Quel (sous) ensemble de fonctionnalités est pris en charge?

59
user1368198

Vous aurez besoin de clang 3.3 pour utiliser l'ensemble de fonctionnalités le plus pertinent de C++ 11. Lisez Prise en charge C++ dans Clang pour la liste complète des fonctionnalités prises en charge mises à jour. Clang 3.3 est censé être une fonctionnalité C++ 11 complète.

La ligne de commande de Clang est compatible avec gcc, vous devez donc activer la prise en charge de C++ 11 via le commutateur de ligne de commande followinf

-std=c++11

Il existe également un tas de fonctionnalités post-C++ 11 (comme decltype (auto), les initialiseurs de membre et les agrégats) qui sont prises en charge par Clang 3.3. Utilisez ce commutateur de ligne de commande pour les activer

-std=c++1y
80
Sergey K.

Voici la liste toujours à jour des fonctionnalités prises en charge par clang:

http://clang.llvm.org/cxx_status.html

Pour activer C++ 11, vous devez ajouter -std = c ++ 11 dans vos appels clang, comme pour gcc. Si vous utilisez un IDE qui est sensible aux clangs ou aux gcc, une option de paramètres de projet spécifique est disponible pour ce faire.

16
Klaim