Was ist der Unterschied zwischen ::std::string
und std::string
Ersteres ist global? Aber global für was? Ist Namespace nicht global? Danke, dass du mir geholfen hast.Was ist der Unterschied zwischen :: std :: string und std :: string?
7
A
Antwort
14
::std::string
bedeutet string
im Namespace std
im globalen Namespace. Die führende ::
erzwingt das Starten der Suche im globalen Namespace. Daher bedeutet ::std::string
immer den Typ string
aus der C++ - Standardbibliothek.
std::string
bedeutet string
in Namespace std
, wo std
wird im aktuellen Bereich nachgeschlagen werden. Wenn also eine Klasse, ein Namespace oder eine Enumeration mit dem Namen std
vorhanden ist, findet die Namenssuche möglicherweise std
.
#include <string>
namespace foo {
namespace std {
class string { ... };
namespace bar {
std::string s; // means foo::std::string
::std::string s; // means string from standard library
}
}
}
Es ist nicht notwendig, die führende ::
so lange zu benutzen, wie Sie und Ihre Mitarbeiter stimmen nicht std
etwas zu nennen. Es ist nur ein guter Stil.
Verwandte Themen
- 1. Unterschied zwischen Std: String und Std :: String
- 2. Was ist der Unterschied zwischen std :: string :: c_str und std :: string :: data?
- 3. Was ist der Unterschied zwischen std :: string und std :: basic_string? Und warum werden beide benötigt?
- 4. Was ist der Unterschied zwischen std :: to_string, boost :: to_string und boost :: lexical_cast <std::string>?
- 5. Was ist der Unterschied zwischen string :: at und string :: operator []?
- 6. Was ist der Unterschied zwischen std :: cout und std :: wcout?
- 7. Was ist der Unterschied zwischen std :: set und std :: map
- 8. Was ist der Unterschied zwischen std :: partial_sum und std :: inclusive_scan?
- 9. Was ist der Unterschied zwischen std :: invoke und std :: function?
- 10. Was ist der Unterschied zwischen std :: function und std :: mem_fn
- 11. Vergleich zwischen Std: String und C-String
- 12. Was ist der Unterschied zwischen std :: tie und std :: make_tuple mit std :: ref-Argumenten?
- 13. Unterschied zwischen std :: Suche und std :: find_first_of
- 14. Unterschied zwischen std :: set und std :: priority_queue
- 15. Was ist der Unterschied zwischen [] String und ... String in Golang?
- 16. Was ist der Unterschied zwischen Boost Smartpointern und Std Smartpointern?
- 17. Std :: String und Std :: Map-Operationen auf Unicode-String
- 18. std :: string und std :: ios :: binary
- 19. Unterschied zwischen std :: regex_match & std :: regex_search?
- 20. Unterschied zwischen std :: exception und "..."
- 21. Leistung std :: strstr vs. std :: string ::
- 22. Unterschied zwischen std :: uninitialized_copy & std :: copy?
- 23. Was ist der Grund für den Unterschied im Zerstörungsverhalten zwischen std :: unique_ptr und std :: shared_ptr?
- 24. Unterschied zwischen String und String
- 25. Unterschied zwischen "\ (String)" und String?
- 26. Unterschied zwischen @string und @ + string?
- 27. std :: string :: c_str() und Provisorien
- 28. SWIG: Wie umbrechen std :: string & (std :: String übergeben durch Verweis)
- 29. std :: string length() und size() Member-Funktionen
- 30. std :: string vs std :: string für viele Strings