Navnerom

Bruke Navneområdesammensetning

Beste praksis i programmering foreslår sekvestering nye data orfunctionality i et sanely-navngitt, unikt navneområde wheneverpossible. Dette regnes som en fordel i forhold til å dumpe alt i det globale navneområdet, da navneoppslag kan eksplisitt aktiveres ordisabled som ovenfor, symboler blir konsekvent manglet uten repeterende prefikser eller makroer, etc.

for eksempel vurdere et prosjekt som definerer de fleste av sine klasser i namespace gtk. Det er mulig toadapt namespace gtk til namespace std ved å bruke En C++ – funksjon kalt namespace composition. Dette er hva som skjer ifa using-declaration is put into anamespace-definisjon: det importerte symbolet(e) blir importert til det nåværende aktive navneområdet(e). For eksempel:

namespace gtk{ using std::string; using std::tr1::array; class Window { ... };}

i dette eksemplet blir std::string importert tilnamespace gtk. Resultatet er at bruk av std::string inside namespace gtk bare kan bruke string, uten eksplisitt qualification.As en ekstra bonus,std::string blir ikke importert til det globale navneområdet. I tillegg kan en mer forseggjort ordning gjøres for bakoverkompatibilitet og portabilitet, hvor using-erklæringer kan pakkes inn i makroer thatare satt basert på autoconf-tester til enten «» eller dvs. using std::string; (avhengig av om systemet harlibstdc++ i std:: eller ikke). (ideer fromLlewelly Og Karl Nelson)

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

Previous post Tv-Ens Gullalder Er Over
Next post Periode-sporing apps er ikke for kvinner