Avatar billede _et Praktikant
08. august 2003 - 13:10 Der er 10 kommentarer og
1 løsning

& tegnet. Hvad er det nu det er

Hvad er det nu "&" tegnet betyder
              |
RegisterClass(&WindowClass);
              |
Er det en pointer eller hvad er det nu det er, - Kan ikke huske det
Avatar billede squashguy Nybegynder
08. august 2003 - 13:11 #1
den tager adressen på WindowClass; altså en pointer
Avatar billede squashguy Nybegynder
08. august 2003 - 13:12 #2
int i;
int *p;
int p = &i;
*p = 4;

i er nu 4
Avatar billede driis Nybegynder
08. august 2003 - 13:12 #3
&, sådan som det bruges der er en address-of operator. I dette tilfælde skal RegisterClass have en pointer til WindowClass, dvs. addressen hvor objektet WindowClass er placeret. Dette gøres vha. & tegnet.
Avatar billede soreno Praktikant
08. august 2003 - 13:13 #4
Hvis & står alene har det en anden betydning. Så er det bitvis and.
Avatar billede squashguy Nybegynder
08. august 2003 - 13:14 #5
&& er en logisk and o:)
Avatar billede soreno Praktikant
08. august 2003 - 13:22 #6
Man kan hurtigt misforstå sætningerne hvis ikke man er helt klar over hvad der menes med "and" !

;-)
Avatar billede _et Praktikant
08. august 2003 - 13:25 #7
Jeg takker jer begge, jeg mente nok det var en pointer, men kunne ikke lige finde min bog

squashguy var først :-)
Avatar billede bertelbrander Novice
08. august 2003 - 21:07 #8
Der er naturligvis også & brugt til at lave en reference:
int i = 10;
int &r = i;
r er nu en reference til i, dvs r refererer til i
Referenser er kun for C++, og jeg har en fornemmelse af at det du sidder med er C
Avatar billede _et Praktikant
09. august 2003 - 16:35 #9
Hvad vil fordelen ved at lave en reference til i være, kunne jeg ikke bare bruge i ??
Avatar billede bertelbrander Novice
09. august 2003 - 17:31 #10
I dette simpel exempel vil der ikke være nogen større fordel ved at bruge reference til i.
Du kan stort set bruge referencer de samme steder som pointere og omvent.
En reference bliver altid sat til at referere til noget når den bliver kreeret.
Normalt bliver referencer betragtet som mere ægte C++

Det sted man oftest bruger referencer er i funktions/metode kald:

class MyHugeDataClass
{
  int member[LOTS_OF_INTS];
  ...
};

void DoSomethingReasonable(MyHugeDataClass &c)
{c.member[12345] = 12; }

Hvis du havde brugt pointer skulle funktionen se sådan ud:

void DoSomethingReasonable(MyHugeDataClass *c)
{c->member[12345] = 12; }

De fleste synes vist den første funktion er "pænere"
Avatar billede _et Praktikant
10. august 2003 - 14:05 #11
Jeg ved ikke hvilken der er den pæneste, men jeg tror jeg er med på ideen

TankX
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester