Ich möchte einen Blick in Namespace Std werfen, aber ich bin nicht in der Lage, die Datei auf meinem Computer zu finden, wo es definiert ist. Ich habe versucht, das zu googeln, aber ich hatte nicht viel Glück.Wo ist Namespace std definiert?
Antwort
Eine Liste aller in namespace std
enthaltenen Dinge finden Sie here.
Wenn Sie Visual Studio verwenden, können Sie es lokal finden Sie hier: ~\Microsoft Visual Studio\VC\crt\src
Es gibt auch eine Online-Darstellung here.
HINWEIS: Bearbeiten Sie die src-Dateien erfolgt auf eigene Gefahr, ich würde empfehlen, sie überhaupt nicht zu bearbeiten.
* Wenn * sie tatsächlich installiert haben. – Puppy
Viele der Dinge, die im Namespace std
implementiert sind, sind templated, was bedeutet, dass ihre gesamte Implementierung in den Header-Dateien sein wird. Zum Beispiel sollte std::vector
in der Header-Datei vector
sein. Sehen Sie sich einfach die Optionen für Ihren Compiler an, um herauszufinden, wo sich diese Header-Dateien befinden.
Möglicherweise gibt es einige Elternklassen und freistehende Funktionen, die nicht in der Vorlage enthalten sind und die nicht in den Kopfzeilen enthalten sind. Schauen Sie sich die Compiler-Dokumentation an, um zu sehen, ob die Quelldateien irgendwo enthalten sind und wo sie sich befinden.
Auf den meisten Unix-Systemen, die C++ Header werden in der Regel in /usr/include/c++/<version>/
gespeichert, wobei <version>
die/GCC ist libstdC++ Version (das heißt 4.9
oder 4.9.2
) oder auch die libC++ Version heißt v1
.
In diesem Verzeichnis befinden sich alle (oder nur die meisten?) Der standardmandatierten Header, die meist nur gewöhnlicher C++ - Code sind. Beachten Sie für libstdC++ insbesondere, dass die meisten der älteren Header nur etwas in bits/
enthalten; einige der C++ 11-spezifischen Header tun dies.
- 1. "Namespace Std {}" vor "Namespace Std verwenden;"
- 2. Wo ist die Klasse std :: out_of_range vollständig definiert?
- 3. Wo ist Enum.values () definiert?
- 4. Wo ist __dso_handle definiert?
- 5. Wo _NFILE ist definiert
- 6. Wo ist GL_MULTISAMPLE definiert?
- 7. Wo ist com.intellij.modules.lang definiert
- 8. Ist C# -Namespace-Trennzeichen (.) Irgendwo definiert?
- 9. Wo ist "id" literal definiert?
- 10. Schienen: Wo ist "params" definiert?
- 11. Unterschied in using namespace (std :: vs :: std: :)
- 12. namespace std Überlastung weniger als
- 13. capistrano failure - wo ist cap deploy definiert?
- 14. Bestimmen, wo ein Typ definiert ist
- 15. Wo ist SHA256_Update() in openssl/crypto definiert?
- 16. Wo ist die Klasse "com.android.okhttp.HttpHandler" definiert?
- 17. Wo ist der Operator Haskell (. :) definiert?
- 18. Bestimmen, wo ein UNIX-Alias definiert ist
- 19. Wo ist == Operator in Klasse "Objekt" definiert?
- 20. Wo ist $ {body_statement} in Eclipse definiert
- 21. Wo ist das Makro DEBUG definiert?
- 22. Wo ist Malloc im Code definiert?
- 23. Wo ist ptrdiff_t in C definiert?
- 24. Wo ist die Farbe der Cursorlinie definiert?
- 25. Wo ist die JavaBean-Namenskonvention definiert?
- 26. Wo ist _s_entry_footer(); im Thema Unterstriche definiert?
- 27. Powershell: Dateiname suchen, wo Funktion definiert ist
- 28. Wo ist das Python-Startup-Banner definiert?
- 29. Ist Isnan im Namespace std ::? Mehr allgemein, wann ist std :: notwendig, optional oder zu vermeiden?
- 30. Warum ist std :: generate ohne Namespace-Qualifier verfügbar?
Es gibt * viele * Standard-Bibliothek Header-Dateien, jeder dieser definierten Namen innerhalb der 'std' Namespace. Dies ist keine einzelne Datei, die Sie überprüfen können. – juanchopanza
Ich dachte, um einen Namespace zu definieren, musste man etwas wie 'Namespace name {...}' machen. Das ist nicht etwas, was ich finden werde? – rage
So definieren Sie Namespaces, aber dies geschieht über viele Dateien. – juanchopanza