Archiv verlassen und diese Seite im Standarddesign anzeigen : arrayübergabe in funktionen?
BodyLove
2005-12-18, 18:22:28
Hey,
wir müssen ein Stack programmieren, welches A und B einsortieren soll. Ich habe dazu die Funktionen Create, Push, Pop und empty erstellt. Nur schaffe ich es nicht ein Array1{AAB} in Create zurückzugeben. Muss man dazu zwingend Pointer verwenden?
Brauche dringend eine antwort.
Vielen Dank jungs.:)
Der besonderst Kluge
2005-12-18, 18:36:04
Der besonderst Kluge sagt,
dass man Adressen, d.h. Pointer, benutzen MUSS wenn man Anfänger ist. Der Fortgeschritte verwendet nen Template.
BodyLove
2005-12-18, 19:35:12
hast du zufällig einen Link, der mir verständlich erklärt, wie ich pointer verwende?
pajofego
2005-12-18, 20:11:51
Ich fand das hier immer sehr hilfreich (http://www.mathematik.uni-marburg.de/~cpp/)
Gruß
pajofego
Der besonderst Kluge
2005-12-18, 20:50:21
Ich fand das hier immer sehr hilfreich (http://www.mathematik.uni-marburg.de/~cpp/)
Gruß
pajofego
Der besonderst Kluge sagt,
dass du das auf keine Fall verwenden sollst. Das verwendet veraltete Sprachmittel und hält sich nicht an den Standard.
pajofego
2005-12-18, 20:58:46
Der besonderst Kluge sagt,
dass du das auf keine Fall verwenden sollst. Das verwendet veraltete Sprachmittel und hält sich nicht an den Standard.
Na dann mach mal einen besseren Vorschlag! Kritisieren kann man immer alles!
Gruß
pajofego
Marscel
2005-12-18, 22:03:37
hast du zufällig einen Link, der mir verständlich erklärt, wie ich pointer verwende?
Ist zwar englisch, aber mir hats mehr gebracht als mein deutsches Buch:
http://www.cplusplus.com/doc/tutorial/pointers.html
Na dann mach mal einen besseren Vorschlag! Kritisieren kann man immer alles! Er hat aber recht. Das Zeug kompliert ab VC++ 2003 gar nicht mehr.
BodyLove
2005-12-18, 22:30:23
Recht hat er bestimmt, nur wäre es für mich sehr hilfreich, wenn er Alternativvorschläge hätte.
Braucht er doch nicht als Troll :D
Na dann mach mal einen besseren Vorschlag! Kritisieren kann man immer alles!
Gruß
pajofego
Omg... Findest du es toll dass du hier einem Anfänger etwas an den Kopf wirfst was seit über 7 Jahren (!!!) veraltet ist?
Ich hab mal ein sehr schönes Tut gesehen, aber ich glaube es ist sehr schwer zu verstehen. Du kannst es ja mal versuchen. Wenn du aber nicht mitkommst besser aufhören. C++ ist wie Mathematik: Wenn man nicht weiß was Multiplizieren ist wird man nie Potenzieren verstehen. http://home.no.net/dubjai/win32cpptut/
Der besonderst Kluge
2005-12-18, 23:18:47
Ist zwar englisch, aber mir hats mehr gebracht als mein deutsches Buch:
http://www.cplusplus.com/doc/tutorial/pointers.html
Der besonderst Kluge hat vergessen,...
seinen tollen "besonderst klug"-Trolling-Style auf den vorherigen Post zu übernehmen. Noch eine Ergänzung zu dem oben gequoteten:
Habs nicht gelesen möchte keine Beurteilung abgeben, aber diese Funktion ist echt... einfach nur no comment:
void increase (void* data, int size)
{
switch (size)
{
case sizeof(char) : (*((char*)data))++; break;
case sizeof(int) : (*((int*)data))++; break;
}
}
Der Witz ist echt gut :]
BodyLove
2005-12-19, 13:12:19
Vielen Dank für den Link. Und trollen brauchst du hier auch nicht unbedingt. Es war ja nicht sonderlich schwer, ernst auf meine Frage einzugehen.;)
void increase (void* data, int size)
{
switch (size)
{
case sizeof(char) : (*((char*)data))++; break;
case sizeof(int) : (*((int*)data))++; break;
}
}WTF!
Genau, dafür kann man doch Templates nehmen, dann kann man sich das Switch sparen:
template<typename T> void increase(void* data)
{
++(*((T*)data));
}
Der besonderst Kluge
2005-12-19, 20:03:26
Der besonderst Kluge behauptet,...
dass Trap auch nen Anfänger ist! Abgesehen von der Sinnlosigkeit von dem ganzen (das gibts sicher schon in <functional>)würde man es natürlich so machen:
template<class Type>
void increase(Type& ref)
{
++ref;
}
:]
Dann ist es aber kein Beispiel für die Benutzung von Pointern mehr.
Der besonderst Kluge
2005-12-19, 21:14:20
template<class Type>
void increment(Type* p)
{
++(*p);
}
Das eigentlich WTF hier ist doch dass man den Datentypen anhand seiner Größe bestimmt!
Marscel
2005-12-19, 23:02:13
Wo wir gerade beim Thema sind, wie erfährt man den Datentyp eigentlich bei C++?
Bei PHP wäre es einfach gettype($var), aber wenn man z.B. bei C++ bei einem Template eine Extrawurscht für einen bestimmten Datentyp schneiden will, wie geht das?
Also sizeof() ist ja dämlich, da manche Datentypen ja dieselbe Größe haben...
typeof(). Das geht aber nur mit aktivierten RTTI und das schmälert die Performance. Eigentlich braucht man das auch nicht.
aber wenn man z.B. bei C++ bei einem Template eine Extrawurscht für einen bestimmten Datentyp schneiden will, wie geht das?Klar geht das.
template<class T> void foo(T blub) {
}
void foo(char blub) { // überladen für char
}
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.