Referințele în C++
Last Updated: Jun 03 2016 12:52, Started by
TheOriginals
, May 30 2016 16:42
·
0
#37
Posted 01 June 2016 - 11:12
E super..m-am prins.
Apropo OriginalCopy cartea, tutorialul ce-o fi el e super şi cred că nu ar strica să o pui undeva mai sus să o găsescă mai uşor lumea. Eu câte combinaţii de cuvinte referitoare la pointeri am făcut pe google tot nu am găsit-o. Explică foarte bine. |
#38
Posted 01 June 2016 - 12:27
Am mai dat peste o mică nelămurire la incrementare:
void copy(int* pa, int* pb, int nr) { while (nr !=0) { *pb = *pa; cout << *pb << endl; pb++; // [color=#ff0000]eu am facut pb=pb+4 şi nu merge[/color] pa++;//[color=#ff0000]am facut pb=pb+4 şi nu merge[/color] //functionează şi aşa *pb++; *pa++; nr--; } } Am căutat puţin pe net şi am găsit asta: p++; // use it then move to next int position ++p; // move to next int and then use it ++*p; // increments the value by 1 then use it ++(*p); // increments the value by 1 then use it ++*(p); // increments the value by 1 then use it *p++; // use the value of p then moves to next position (*p)++; // use the value of p then increment the value *(p)++; // use the value of p then moves to next position *++p; // moves to the next int location then use that value *(++p); // moves to next location then use that value După cum spune la *p++, foloseşte valoarea apoi treci la următorea poziţie, adică aş putea spune că teoretic vorbin as putea împărţi (*p++) : 1. *p 2. p+sizeof(type)? E corect? Adică o să încrementeze valorea adresei şi valorea pointată? Edited by TheOriginals, 01 June 2016 - 12:29. |
#39
Posted 01 June 2016 - 20:35
Am găsit răspunsul..cred că, compilatorul în funcţie de tipul de dată ştie câţi octei să adune până la următoarea variabila.
Când mă jucam cu pointerii de obicei foloseam char care e pe 1 octet şi adunam un 1. Acum la int adunam un 4 (4 octeţi) dar defapt trebuie adunat tot câte un 1. |
#40
Posted 02 June 2016 - 04:29
De fapt aduni cati octeti ocupa tipul de date din care este format sirul.
pentru a nu te baza pe compilator. Edited by MarianG, 02 June 2016 - 04:35. |
#41
Posted 02 June 2016 - 06:01
Thefake_fake_fake, on 01 iunie 2016 - 11:12, said:
E super..m-am prins. Apropo OriginalCopy cartea, tutorialul ce-o fi el e super şi cred că nu ar strica să o pui undeva mai sus să o găsescă mai uşor lumea. Eu câte combinaţii de cuvinte referitoare la pointeri am făcut pe google tot nu am găsit-o. Explică foarte bine. |
#42
Posted 02 June 2016 - 18:44
MarianG, on 02 iunie 2016 - 04:29, said:
De fapt aduni cati octeti ocupa tipul de date din care este format sirul. pentru a nu te baza pe compilator. Ar fi drăguţ dacă ar merge..da nu prea vrea aşa..uite în exemplul de mai sus...e int ar trebuie adunat 4..daca fac pb=pb+4 nu merge. Dacă faci +1 totul e ok |
#43
Posted 02 June 2016 - 20:26
si pana la urma sunt 4 octeti sau unul ?
sau un grup de patru ? |
#44
Posted 03 June 2016 - 12:52
Int-ul e pe 4, dar el vrea adunat câte unul pentru că ştie să adune el în funcţie de tipul de dată (aşa cred eu)
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users