Diskussion:Digraph (Informatik)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

size_t ist kein typedef im globalen Namespace. size_t ist Bestandteil des namespaces std, wie der Rest der Standard C++ Library. Bitte nenn mir doch die Stelle im C++ Standard wo das anders erwähnt ist (wenn du schon dabei bist, durchsuch den Standard doch mal nach std::size_t). Bitte erst selbst informieren, dann reverten. --Kingruedi 20:42, 5. Jan 2006 (CET)

Dann nimm halt einen anderen, selbstdefinierten Typen, der im globalen Namensraum liegt. ::int ist jedenfalls Unfug, da int als built-in Typ quasi in "allen" Namensräumen existiert und ::int ein Syntaxfehler ist. --RokerHRO 22:04, 5. Jan 2006 (CET)
Da hast du auch wider recht. Aber wie wär es mit ::std::size_t? --Kingruedi 22:19, 5. Jan 2006 (CET)

Er hat aber recht. std::size_t gibt es einmal im namespace std, wenn der C++ header cstddef verwendet wird. Wird der C-kompatibility header stddef.h verwendet, dann wird size_t innerhalb des globalen namensbereich deklariert. Es stimmt zwar dass man std::size_t verwenden sollte in C++, aber ::size_t ist deshalb noch lange nicht verschwunden :). Also bitte nicht so sachen wie "size_t ist kein typedef im globalen Namespace." wenn du offenbar nicht richtig informiert bist.

Annex D.5: Each C header, whose name has the form name.h, behaves as if each name placed in the Standard library namespace by the corresponding cname header is also placed within the namespace scope of the name- space std and is followed by an explicit using-declaration (7.3.3) [Example: The header <cstdlib> provides its declarations and definitions within the namespace std. The header <stdlib.h> makes these available in the global name space, much as in the C Standard. —end example]

Reverten tue ich hier nichts, weil ich std::size_t auch besser finde, zumal dies ja ein C++ Beispiel ist.