Prikaz jedne poruke
Stara 4.7.2015, 18:08   #339
Flash91
Veteran
 
Član od: 24.10.2007.
Lokacija: Beograd
Poruke: 694
Zahvalnice: 222
Zahvaljeno 215 puta na 121 poruka
Određen forumom Re: How to... C++

Citat:
NikolaTECH kaže: Pregled poruke
Treba mi pomoć za C++ u vezi pointera.

Kod:
#include <iostream>
using namespace std;

void f(int *p) {
    *p++; }

int main() {
    int n = 1;
    f(&n);
    cout << n << endl; }
E sad, *p++; ne radi. Probao sam *p += 1; i *p = *p + 1; i to radi.. Zašto ne radi *p++, a ovo ostalo radi ?

Kod:
#include <iostream>
using namespace std;

void f(int *p) {
    ++*p; }

int main() {
    int n = 1;
    f(&n);
    cout << n << endl; }
Prefiksni oblik radi, e sad zasto je tako...

Postfiksni operator izgleda da je delovao samo na pointer a ne na podatak na koji pointer pokazuje, dok recimo ako se stavi (p*)++ program radi sta treba. Tako da izgleda je problem do grupisanja operatora.



http://en.cppreference.com/w/c/langu...tor_precedence
Flash91 je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Flash91 na korisnoj poruci:
NikolaTECH (7.7.2015)