Avatar ·

Quelle est la différence entre #include <filename> et #include "filename" en C++ ?

Bonjour, collègues ! Je suis un développeur C++ débutant et j'ai rencontré un point flou. Dans les manuels et les exemples de code, je vois deux façons d'inclure des fichiers d'en-tête : 1. `#include ` — avec des chevrons. 2. `#include "myheader.h"` — avec des guillemets. À première vue, il n'y a pas de différence — les deux options incluent un fichier. Mais j'ai remarqué que les bibliothèques standard (iostream, vector, string) sont toujours écrites avec des chevrons, tandis que mes propres fichiers (par exemple, "myclass.h") sont entre guillemets. J'ai essayé d'écrire `#include "iostream"` — le code s'est compilé et a fonctionné. Par contre, `#include ` a généré une erreur "file not found". Pourquoi cela se produit-il ? Est-ce simplement une convention de style ou y a-t-il une différence technique réelle ? Ce qui m'intéresse particulièrement : - Comment le compilateur recherche-t-il les fichiers dans chaque cas ? - Le choix affecte-t-il les performances ? - Y a-t-il des situations où il faut utiliser exactement une option plutôt que l'autre ? Je donne un exemple de mon code : ```cpp // main.cpp #include // fonctionne