003
30.03.2011, 19:12 Uhr
0xdeadbeef
Gott (Operator)
|
Das wäre auch eine gute Angewohnheit. Immerhin kannst du dir nie ganz sicher sein, welche Symbole die Standardbibliotheksimplementation, die du gerade benutzt, im Namensraum std anlegt.
Wenn du dazu zu faul bist, kannst du aber auch die benötigten Symbole einzeln ins globale Scope ziehen:
C++: |
using std::cout; using std::cin; // etc.
|
Das ist dann immerhin nicht ganz so schlimm wie using namespace. Du könntest deine selbstgeschriebenen Funktionen in einen eigenen Namensraum auslagern:
C++: |
namespace dein { template<typename T> T max(T lhs, T rhs); }
// ...
std::cout << dein::max(3, 7);
|
Du könntest einen Namen benutzen, der sich nicht mit der Standardbibliothek beißt - Portabilitätswarnung siehe oben; mit using namespace bist du nie ganz sicher, was du eigentlich in den globalen Namensraum holst. Du könntest in diesem Fall natürlich auch stumpf std::max benutzen. Damit das überall läuft, musst du dann allerdings <algorithm> einbinden. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 30.03.2011 um 19:14 Uhr von 0xdeadbeef editiert. |