using namespace bruger du kun ved brug af STL! Derved angiver du at du vil bruge det namespace der hedder std, således du kan skrive fx "vector" og ikke behøver at skrive "std::vector". Du kunne også skrive "using std::vector;"
Så har jeg godt nok fået fat på en dårlig bog :P ... Forfatteren til den bog jeg er ved at læse (Herbert Schildt) skriver at det er den nye standard hehe...
Jo, det er det også, men using namespace std, anvendes kun ved brug af STL. Havde du fx anvendt noget kode der var indkapslet i et andet namespace (eller flere) kunne du skrive using namespace MyNamespace eller using MyNamespace::MySubNamespace
Det nye standardbibliotek eller STL har ingen .h endelse. Namespaces er indført for at begrænse besværlighederne ved globale navne. Hvis f.eks. List er defineret som globalt navn et eller andet sted, kan du ikke selv bruge navnet. Navnene i STL er alle defineret i namespaces; de fleste i namespace std. Navne i de gamle headerfiler er (næsten?) alle defineret globalt.
Så der er en sammenhæng mellem STL og namespaces, men using namespace er IKKE at bruge den nye standard.
STL er som navnet siger: et standard bibliotek. Det indeholder de mest almindeligt brugte ting, som f.eks. containere. Disse skulle så, da de er standard, være platformsuafhængige. Det er IKKE en erstatning for alt hvad der har fandtes til C++.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.