Pointerübergabe vor Initialisierung
-
hmm, so 'ne wurst, das muss einem doch gesagt werden
dankeschöön
-
hmm, das ist trotzdem seltsam, warum gibt es beide male die gleiche adresse aus?
int main() { char *ptr = new char[2]; strcpy(ptr,"a"); cout << &ptr << "\n"; ptr = "a\0"; cout << &ptr << "\n"; }
-
&ptr gibt dir die Adresse des Pointers. Lass das & weg.
-
MaSTaH schrieb:
&ptr gibt dir die Adresse des Pointers. Lass das & weg.
wenn ich den adressoperator & weglasse, gibt mir ja cout den string bis zur terminierung aus!?
-
Dann caste das Ding nach void* oder so. Ich habe jetzt nicht im Kopf ob es für ostream einen operator << gibt.
-
cout<<static_cast<void*>(ptr);
und wehe ich hab jetzt wieder den falschen cast genommen^^
-
wie muss denn nun eine funktion aussehen der ein char** als referenz übergebenwird und in der funktion erst der speicher allokiert wird?
-
es gibt 2 ,öglichkeiten, wie ich den letzten post interpretieren kann:
1.void function(char** blub,unsigned int n){ *blub=new char[n]; }
void function(char**& blub,unsigned int n){ blub=new char*[n]; }
-
otze schrieb:
es gibt 2 ,öglichkeiten, wie ich den letzten post interpretieren
void function(char**& blub,unsigned int n){ blub=new char*[n]; }
char*& reicht
-
danke erstmal, ich werde es mal ausprobieren
eine frage aber noch im vorraus:
es wurde ja jetzt speicher für den ersten pointer allokiert, was ist den mit den andren die sich da noch verstecken ?
-
okay ich bedanke mich nochmal ^^
hat alles super geklappt.
-
Shlo schrieb:
otze schrieb:
es gibt 2 ,öglichkeiten, wie ich den letzten post interpretieren
void function(char**& blub,unsigned int n){ blub=new char*[n]; }
char*& reicht
char*& reicht nicht, da ich ja ein pointer auf ein array auf pointer habe
-
otze schrieb:
char*& reicht nicht, da ich ja ein pointer auf ein array auf pointer habe
Nein, du hast einen Pointer auf ein Array von Pointern - wenn du klugscheißen willst...
Besides, ich glaube nicht, dass der Fragesteller auch das gemeint hat.
-
Shlo schrieb:
otze schrieb:
char*& reicht nicht, da ich ja ein pointer auf ein array auf pointer habe
Nein, du hast einen Pointer auf ein Array von Pointern - wenn du klugscheißen willst...
Besides, ich glaube nicht, dass der Fragesteller auch das gemeint hat.
aber man konnte es so verstehen, und deshalb schrieb ich auch die möglichkeit dazu