c++: Ökningsoperatorn (++) på pekare?
Postat: 14 maj 2011, 22:55
Varför går det inte att andvända ökningsoperatorn direkt på pekare ( se rad 17 av koden)? Varför måste man omge pekaren med parenteser ( se rad 11, 13 och 15 av koden)?
Se följande kod:
Se följande kod:
Kod: Markera allt
#include <iostream>
using namespace std;
int main (int argc, char *argv[]) {
unsigned short int yourAge = 26;
unsigned short int *pAge = &yourAge;
cout << "your age is " << *pAge << endl; // *pAge = 26
(*pAge)++; // ökar *pAge med ett...
cout << "your age is " << *pAge << endl; // *pAge = 27
(*pAge)++; // ökar *pAge med ett...
cout << "your age is " << *pAge << endl; // *pAge = 28
(*pAge)++; // ökar *pAge med ett...
cout << "your age is " << *pAge << endl; // *pAge = 29
*pAge++; // Här blir något galet...
cout << "your age is " << *pAge << endl; // *pAge = <skräp>
return 0;
}