Pourquoi ne pas écrire `using namespace std;` en C++ et quelles sont les alternatives ?
Bonjour ! J'ai commencé à apprendre le C++ et dans tous les tutoriels et exemples de code, je vois constamment la ligne `using namespace std;`. J'ai l'habitude de toujours l'écrire au début du programme, car sans elle, je dois ajouter `std::` partout, ce qui semble peu pratique. Par exemple :
```cpp
#include
#include
#include
using namespace std;
int main() {
vector numbers = {5, 2, 8, 1, 9};
sort(numbers.begin(), numbers.end());
cout << "Trié : ";
for (int n : numbers) {
cout << n << " ";
}
cout << endl;
return 0;
}
```
Mais récemment, j'ai lu que les programmeurs expérimentés conseillent de ne jamais utiliser `using namespace std;` dans des projets réels. Apparemment, cela peut entraîner des erreurs difficiles à détecter. J'ai essayé d'écrire du code sans cette directive, et il est devenu lourd :
```cpp
std::vector numbers = {5, 2, 8, 1, 9};
std::sort(numbers.begin(), numbers.end());
std::cout << "Trié : ";
```
Il me semble que la lisibilité du code se détériore.