Citat:
NikolaTECH kaže:
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