login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > C++ > C++ Pointers
Pagina:

Reacties op de tutorial C++ Pointers


Offline  nemesiskoen
Gepost op: 02 maart 2007 - 16:01
Gouden medaille

PHP expert


Het lijkt me vooral handig dat je niet enkel verteld wat het is maar dat je ook de kracht laat zien. Want het voorbeeld dat je gebruikt kan ook gewoon zonder pointers en dat geeft hetzelfde resultaat. Je zou misschien een beter voorbeeld kunnen vinden waarbij de kracht van pointers bewezen wordt.

Offline  Stijn
Gepost op: 02 maart 2007 - 17:23
PHP expert

mmm leuk maar ik ben een beetje in de war omdat ik pointers geleerd heb in C. Nu heb ik volgende geleerd en ik vraag me af of dit ook correct is en wat het verschil is met jou laatste script?

  1. <? //kleur
  2. #include<stdio.h>
  3.  
  4. int main( void )
  5. {
  6.  
  7. int a = 4;
  8. int * b;
  9.  
  10. b = &a; //zoals je zit is b zonder ster en het adres van b wordt gewijzigd in dat van a
  11. *b = 10; //verander de waarde in het adres naar 10 -> dus de waarde van a wordt naar 10 gewijzigd.
  12.  
  13. printf("a: %d - pointer: %d\n" , a , *b);
  14.  
  15. return 0;
  16.  
  17. }


stijn

Offline  Wave6
Gepost op: 02 maart 2007 - 18:34
PHP beginner

@stijn theoretisch moet het zo ook kunnen anders test je het even:).

@Vage ja ok, maar zelf kreeg ik veel vragen van wat is nu een pointer. En wat kan ik er mee. Dus vandaar dat ik het zo hou. Ik pas hem dan nog wel aan maar het moet een beetje simpel blijven vind ik.
Maar ik zal hem binnenkort even aanpassen heb nu erg weinig tijd namelijk

Offline  Stijn
Gepost op: 03 maart 2007 - 12:02
PHP expert

Citaat:
Met behulp van Pointers is het zo bijvoorbeeld dat je direct kan communiceren met het
geheugen. en dat je niet een hele variabele overnieuw hoef te,
Typen. Maar dat je de naam van de pointer bijvoorbeeld opgeeft. Dit is even wat simpeler uitgelegd.
Maar zo kom je wel achter het doel van een pointer (hoop ik).
Eigenlijk snap ik dit niet goed. Misschien dat je een voorbeeld kan geven van wat je bedoeld.

Wat ik ook leuk vind is dat je met pointers array's kan maken 

Offline  bosgroen
Gepost op: 08 maart 2007 - 21:45
Gouden medaille

PHP interesse


is pointers in C++ niet zowat hetzelfde als references in php?

Offline  Voldemort
Gepost op: 09 maart 2007 - 17:33
PHP ver gevorderde

References in PHP = geheugenadres opvragen van een variable.
Pointers in C++ = (zie deze tut)

Pointers in C++ zijn dus veel uitgebreider en handiger. Overigens kan je references niet echt pointers noemen.

Offline  Stijn
Gepost op: 17 maart 2007 - 22:59
PHP expert

Geef eens enkele praktische toepassingen waarin pointers nodig zijn. Misschien iets met functies/structs enzo geven. Want ik wat het is, nu weet ik niet waar en wanneer ik ze moet gebruiken.

Offline  Wave6
Gepost op: 18 maart 2007 - 08:54
PHP beginner

Ik ben er mee bezig maar het duurt even aangezien ik ook druk bezig ben voor school.

Offline  Godlord
Gepost op: 14 mei 2007 - 23:56
PHP gevorderde

je kan zelf als het goed had een klasse als pointer hebben of een structure, enumeration en die dingen . Maarja dat hoort eigenlijk bij andere tutorials.

Ok dus ik wil in een keer 2 pointers een gewone variable initializeren. Hoe dit ik dit dan? Simpel hier is een klein voorbeeld.
  1. int *a, *b, c;

je plaats het type zoals int, void,... en dan natuurlijk je pointers day is een varnaam voorafgaand met een * en je gewone variables maakt niet uit in welke volgorde.

@Stijn: pointers wordt veel gebruikt in C++ in veel dingen zullen pointers terugkomen en als je er nu al aan ergert(niet jij maar anderen bv.) dan ga je C++ niet zo leuk vinden als ik . Stel je maakt een constante waarde van een variable een voorbeeld.

  1. const int program_id = 0;


Ok ik ga gewoon een beetje mijn fantasie gebruiken en we bouwen een chat programma. Dan is dit het programma ID voor deze client. Ok dat is nu goed en wel maar waar is onze pointer? Nou die komt eraan kijk maar.

  1. int *p_id = &program_id;


Nu bevat p_id waarde 0. Ok deze client krijgt van de server na het connecteren informatie zoals het program_id. We gaan dus een een waarde krijgen van de server laten we zeggen 1337. Ok om eens extra in de fout te gaan voeg ik dit gewoon toe aan mijn program_id zelf.

  1. program_id = 1337;


Nu dit gaat nooit van je leven gaan compilen of je moet al een IDE hebben zonder error handler. De fout is dat de variable constant is dit houdt in dat de waarde niet zal veranderen. Deze blijft continu hetzelfde. Nu hebben we dus een probleem maar dat gaan we oplossen met onze pointer natuurlijk.

  1. *p_id = 1337;


*p_id zal nu de waarde 1337 bevatten en eveneens program_id zal die waarde bevatten.

Nu ga ik dit is even snel hertypen in voledige code.

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. const int program_id = 0;
  8. int *p_id = &program_id;
  9. cout << "Constante programma ID bevat: " << program_id << "\n";
  10. cout << "Pointer van programma ID bevat: " << *p_id << "\n";
  11. // program_id = 1337; DIT IS FOUT! Constante waarden kunnen niet zo veranderd worden.
  12. *p_id = 1337;
  13. cout << "Pointer van programma ID bevat: " << *p_id << "\n";
  14. cout << Constante programma ID bevat: " << program_id << "\n";
  15. cin.get();
  16. }


Dit zal het volgende weergeven:

Citaat:
Constante programma ID bevat: 0
Pointer van programma ID bevat: 0
Pointer van programma ID bevat: 1337
Constante programma ID bevat: 1337


En zoals je ziet zie je al waarvoor pointers al kunnen dienen. Alhoewel dit een raar voorbeeld is.

Offline  Wave6
Gepost op: 15 mei 2007 - 13:49
PHP beginner

@godlord.

Dit is een goede aanvulling voor mijn tutorial!
Als je het niet erg vind maak een stuk in mijn tutorial waar dit van pas komt uiteraard met jou naam erbij!

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.072s