Was bedeutet "**"?
-
Don Quijote schrieb:
Also ein Zeiger auf einen Zeiger?
Ich versteh das immer noch nicht so richtig
gegeben sei ein Typ T. Egal welcher. int, char, foo, string,...
Dann ist
T* p;ein Zeiger auf T.
Was aber wenn T nun sagen wir ein char* waere?
T* p;
wuerde dann zu
char** p;
werden.T* ist einfach nur ein Zeiger auf T. Und T kann jeder Typ sein. Auch selber wiederum ein Zeiger. Zeiger sind ganz normale typen, da ist keine Magie dabei.
Man kann also auch ein
T*************************************************************** p;
machen.
-
Shade Of Mine schrieb:
Don Quijote schrieb:
Also ein Zeiger auf einen Zeiger?
Ich versteh das immer noch nicht so richtig
gegeben sei ein Typ T. Egal welcher. int, char, foo, string,...
Dann ist
T* p;ein Zeiger auf T.
Was aber wenn T nun sagen wir ein char* waere?
T* p;
wuerde dann zu
char** p;
werden.T* ist einfach nur ein Zeiger auf T. Und T kann jeder Typ sein. Auch selber wiederum ein Zeiger. Zeiger sind ganz normale typen, da ist keine Magie dabei.
Man kann also auch ein
T*************************************************************** p;
machen.Das geht aber nicht unbegrenzt, ich glaube 7 Indirektionen werden durch den Standard mindestens gefordert.
-
Ok, klingt total logisch.
Vielen dank euch beiden für die schnelle und kompetente Hilfe

-
Tippgeber schrieb:
Das geht aber nicht unbegrenzt, ich glaube 7 Indirektionen werden durch den Standard mindestens gefordert.
Das ist natürlich eine Einschränkung, die einem das Leben besonders schwer machen kann... :p
Aber ist das tatsächlich so? Und bei
typedefs werden auch alle Indirektionen berücksichtigt?
-
7 Indirektionen werden durch den Standard mindestens gefordert.

Ich muss meinen Code umschreiben gehen...
-
Tja seht ihr, jetzt habt ihr Jahre eures Lebens verschwendet. Ich arbeite schon seit Jahren nur noch mit 7-dimensionalen Arrays (natürlich übernehme ich die Speicherverwaltung von Hand und copy 'n paste)

-
Aber du behauptest von dir, du programmierst in C++?

-
Tippgeber schrieb:
Tja seht ihr, jetzt habt ihr Jahre eures Lebens verschwendet. Ich arbeite schon seit Jahren nur noch mit 7-dimensionalen Arrays (natürlich übernehme ich die Speicherverwaltung von Hand und copy 'n paste)

das tolle an c++, ich habe eine array klasse:
array_n<int, 7> arr(make_array_n<7>(5,6,7,8,9,10,11));
und schon kann man
arr[0][1][2][3][4][5][6]=7;
machen
-
wollte mir auch mal sowas schreiben aber hab noch kein bock gehabt

mach ich mal bei gelegenheit
-
Skym0sh0 schrieb:
mach ich mal bei gelegenheit
Lohnt sich auf jeden Fall!
