[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Re: [NOVICE] C++



Lau Sennels <sslug@sslug> wrote:
.....

> Standarden formaliserer begrebet navnerum (namespace) som en metode
> til at gruppere beslægtede deklarationer i samme (u)navngivne scope.
> Ifølge standarden er elementer i i standard c++ biblioteket defineret
> i navnerummet std (namespace std). Med #include<iostream.h> deklarerer
> man iostream-klassen i det globale navnerum, hvilket "forurener" det.
> Pointen er at holde indholdet af std, elementerne i stdlib, i et scope
> for sig fra programmets globale scope. 

...

Det er også ok, ved større programmer, og når skal man lave 
"pædagogiske" eksempler .

Specielt ved store programmer skal man have styr på hvor diverse
variable hører til, så man ikke får utilsigtede navnesammenfald.

Jeg anvender dog ofte "static" på variable der kun skal eksistere
i samme fil, så fourener de ikke andre steder ved linkning.
Desuden sparer det (marginalt) lidt tid da der er færre variable der 
skal exportes ved linkning.

> For at tilgå std må man ifølge standarden enten:

> 1) deklarere hele std i det globale navnerum:
...

> Det er selvfølgelig ikke nogen særlig elegant metode,
> eftersom det ødelægger hele pointen med navnerummet std.

Men er let at anvende, specielt ved små programmer
på en fil.

> 2) bruge scope-operatoren til at tilgå std
...
> std::cout << "Test\n";
...

Dette er bøvlet, da man skal huske std:: foran alt i std:,
men er det kun få steder variablen anvendes , så er det til at overkomme.

> 3) deklarere specifikke objekter fra std i det globale
> navnerum
> #include<iostream> 
> using std::cout;
....

Nok den pænere løsning, man skal blot huske at erklære alle variable
der anvendes fra std::



Jeg plejer dog gerne også at lave mit eget namespace til 
egne variable, evt. flere til hver deres område, så forurener 
jeg ikke det unavngivne namespace.


-- 
Frank Damgaard 



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *