29. januar 2006 - 17:48Der er
5 kommentarer og 2 løsninger
Underscores i C
Hej Alle!
Jeg koder selv i C# men har engang kodet en lille smule i C++. Jeg har altid undret mig over hvorfor man mange gange kalder variable for ___noget - altså med én, to eller tre underscores før navnet. Måske banalt, men jeg er nysgerrig :-)
Jeg tror ikke der er nogen specielt god begrundelse, udover den enkelte programmør / organisations kodningsstil. F.eks. har jeg set underscore brugt som prefix for alle felter i en klasse; på den måde kan programmøren se på navnet om der er tale om et felt eller en lokal variabel. Lidt mere almindeligt er det her at bruge prefixet "m_" (m for member), f.eks. "m_reference".
Microsoft har en tendens til at bruge 2 underscores til ting der er Microsoft - specifikt; f.eks. har MS compileren keywords'ne __asm, __try og __except.
Identifiers der starter med __ eller _ efterfulgt af et stort bogstav er reserveret til compileren. Derfor er det logisk at compileren bruger disse til sine "extensions".
Men det bliver ikke brugt så meget mere.
Det betyder også at man ikke selv må kalde sine sin varible _HAT eller __hat, men det er der en del der gør alligevel.
i de tidlige PC dage forsoegte man at bruge xxxx for ANSI C standard og _xxxx for extensions - det har man opgivet idag
__xxxx bruges idag typisk til compiler specifikke ting, ting som er indbygget i selve compileren (eks. DEC C har en data type __int64 som foerst efter en typedef bliver til int64) og eller som er indbygget i header filer (eks. Win32 __TEXT makro) der relaterer sig til den maade koden bliver compilet paa
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.