2017-08-23 5 views
0

Ich verstehe, dass in C++, sollten wir nie verwenden:C++ - Best Practice: `mit std :: cout` vs` std :: cout`

using namespace std;

Die beiden möglichen Alternativen sind:

1) using std::cout; am Anfang der Datei hinzufügen und nur cout geben, wenn

erforderlich

2) Typ std::cout jedes Mal, wenn wir cout

verwenden müssen

Mein Verständnis ist, dass die zweite Methode die beste ist. Wird dies jedoch immer in professionellen Umgebungen befolgt? Ist es praktisch, in schnelllebigen Umgebungen zu folgen? Ich bin an die erste Alternative gewöhnt. Ist es ein Vorteil, umzuschalten?

Hinweis: Ich habe dies ursprünglich in Code Review gepostet und mir wurde gesagt, dass dieses Thema hier gehört. Bitte lassen Sie es mich wissen, wenn nicht.

+3

Wie hoch Ihr Tempo auch sein mag, die zusätzliche halbe Sekunde, die Sie damit verbracht haben, 'std ::' zu tippen, kann nicht signifikant sein. Normalerweise verbringst du wesentlich mehr Zeit damit zu denken als zu tippen, zumindest hoffe ich das;) – Quentin

+0

Es gehört hier nicht dazu, da es hauptsächlich auf Meinung basiert und keine technische Frage ist. Aber Sie können [diese] (https://stackoverflow.com/questions/1452721/why-isusing-namespace-std-considered-bad-practice) für einige mittelmäßige Meinungen lesen. – nwp

+2

'using std :: cout;' Hat die gleichen Probleme wie 'using std;' –

Antwort

2

Also ich habe ein bisschen mit C++ gemacht, aber ich würde sagen, das Problem fällt unter das Problem der Namespaces in allen Sprachen. Das wirkliche Problem besteht darin, dass es bei mehreren Namespaces mit derselben Funktion viel schwieriger ist, das zu lesen, was zu unerwünschten Ergebnissen führen kann.

Zum Beispiel, wenn Sie zwei Funktionen mit dem gleichen Namen in zwei Namensräumen haben, wie weiß der Code, welcher zu verwenden ist? Ein weiteres Problem tritt auf, wenn Sie mehrere Namespaces hinzugefügt haben und eine Funktion aufrufen. Wie weiß jemand, der den Code liest, aus welchem ​​Namespace der Code stammt? Wenn Sie den Namespace vor der Funktion verwenden, wird Ihr Code besser lesbar.