PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Tutorial - Reihe



jookerxxx
03.08.2010, 14:28
Halli , Hallöchen ♥

Ich glaube Ihr kennt mich nicht mehr,
aber letztens hab ich ne E-Mail bekomm und
- siehe DA - ich hatte dieses Forum hier ganz
vergessen.
Ich bin jetzt um einiges an Wissen schwerer ge-
worden. Klar hab ich es unter anderem geschafft,
den ganzen "Amateur-Hack-Kram", wie Trojaner
bauen, anderen schicken, Videos von deren Kamera
machen, etc , etc, geschafft, aber warum ich schreibe,
ist viel mehr, weil ich um "EINIGES" an Wissen im Bereich:

C++

schwerer geworden bin.Falls sich einige meine 1. Threads
noch anschauen könn, ( was ich z.B. immer wieder beschmunzel )
so könnt Ihr gut sehn, wie ich damals in C++ abgeschnitten hab.
:o
EijEijEij !, aber nichts desto trotz, nun ist es zwei Jahre her, und...
Ich würde nun gerne wieder Aktiv in dieser Comunity mitarbeiten.
Also kann ich Euch schno verraten, dass ich auf Youtube eine
Tutorial - Reihe gestartet habe, und am Ende dieser Tutorial - Reihe,
werdet Ìhr im besten Fall in der Lage sein, eine "EIGENE C++ ENGINE"
zu programmieren. Falls das als schleichwerbung gilt, entschuldige ich
mich dafür und nehme gerne Tipps an, wie ich Euch mein wissen, in
diesem FORUM vermitteln, sodass ich nicht ständig auf Youtube
gehen müsst. Trotzdem ist hier der Link:

Youtube Channel von Sterminio Productions (http://www.youtube.com/user/SterminioProductions)

PS: Ich würde mich sehr auf Tutorial Anfragen über Themen freuen =)

Cristhecrusader
03.08.2010, 14:42
Engine spricht man anders aus :P
Sonst ist ja nicht schlecht fuer Anfaenger.

blackberry
03.08.2010, 15:26
Finde ich nett gemeint und auch sicher für Anfänger als erster Kontakt mit der Sprache geeignet, aber im Großen und Ganzen nicht zur Nachahmung empfohlen.

Hab mir nun mal den Teil 7 angesehen und möchte da mal drei Dinge bemerken:
1) getch() aus conio.h sollte man nicht verwenden, weil es auf Plattformen wie Linux, oder Mac OS X nicht vorhanden ist und auch in keinem C/C++ Standard vorgesehen ist (wie alles aus conio.h).
2) cin und cout stehen nicht für console in/out, sondern für character in/out
3) es gibt KEINE unsigned/signed long/short floats. Wenn dein Compiler das schluckt zeigt das nur mal wieder wie wenig sich MS an Standards härt.
Witzig finde ich jedoch, dass dir deine IDE sogar einen Fehler anzeigt und es rot unterringelt:
http://img3.imagebanana.com/img/iueitvbq/Screenshot20100803at4.14.28PM.png
Alle Fehler, die dir darum angezeigt wurden liegen einfach daran, dass dein Code falsch ist.
Nur zur Info: was es allerdings gibt sind long double's

jookerxxx
04.08.2010, 12:58
Danke für die schnelle Antwort.
Das mit dem Compiler hab ich garnicht bemerkt^^
D.h, jetzt im Klartext, ich sollte das hier so stehen lassen,
oder kann ich sonst noch iwie helfen in diesem Forum ?

G36KV
04.08.2010, 18:45
Also man merkt deutlich, wer programmieren richtig verstanden hat und wer nur so tut als ob. Es ist zwar ganz nett, dass du hier Anfänger-Tutorials erstellst, aber ich kann nur jedem Anfänger raten sich deine Tutorials nicht anzuschauen. Gerade auf Youtube gibt es deutlich bessere C/C++ Tutorial Reihen. Ich hab nur mal in ein paar reingeschaut und wahrscheinlich habe ich auch gerade die erwischt wo du irgendwie "Müll" machst.

Beispiel gefällig?
http://www.youtube.com/watch?v=3miHWaBmIAc -> Stichwort: system()
http://www.youtube.com/watch?v=y2_xukQvYys -> Stichwort: inline

jookerxxx
05.08.2010, 15:15
Also dass ich nur so tue, als würde ich was von C++ verstehen, halte ich
ja wohl für ein Gerücht und ist ja wohl eine Unterstellung.
Mit dem Inline geb ich Dir recht, da hab ich nicht die richtigen WORTE
gefunden. Trotzdem war der Inhalt richtig, da ich ihn aus einem Buch
abgelesen habe, und das kann wohlkaum falsch sein ;)
...zum Stichwort System(), ich weiß nicht was Du daran falsch findest,
aber system() in sein C++ Programm einzuzbinden find ich nicht falsch,
denn sonst gäbe es diese Funktion ja wohl nicht.Wenn Du meinst, der
Fehler lag daran, dass ich nachschauen musste , nach den Befehlen...
Die Befehle gehören halt zu Dos, also von daher...
Also das nächste mal, wenn man so harte Kritik schreibt, lieber den
genauen Fehler sagen, denn ich bin auch nur ein Mensch, keine Vorurteile
fällen, und nichts pallabern, als wärste schon ein Alter hase von wegen:
Ich erkenne "blablabla" ... einfach nur MÜLL !


So, sry für alle andern, dass ich mich so aufgeregt habe...
dass meine Tutorials nicht die perfektesten sind weiß ich auch.

IRET
05.08.2010, 15:32
Mit dem Inline geb ich Dir recht, da hab ich nicht die richtigen WORTE
gefunden.
Ja richtig wren die Worte nicht.
inline ist bei den heutige Compilern sinnlos ,da diese selber entscheiden ob die Funktion direkt kopiert wird oder ein einfacher jump durchgeführt wird.
Und dass diese nicht in Maschinencode kompiliert werden ist natürlich absoluter Blödsinn ;).
Inline war ansich dafür gedacht ,dass man den Compiler anweist diese Funktion direkt an die Stelle der Aufrufe kopiert wird ,um die Performance zu steigern.
Aber durch die Optimierung der heutigen Compilern ist das wie gesagt nur mehr Glückssache.

Mufflon12
05.08.2010, 15:46
super tuts danke dir die haben mir damals geholfen , habs sie leider verlegt -.- danke für den up !

jookerxxx
05.08.2010, 16:34
Zuhörn will gelernt sein:

Ich habe nicht gesagt, "Er schreibt das NICHT in den Maschienen Code"
ich habe lediglich gesagt, "Er schreibt das nicht als AUFRUFBARE FUNKTION
in den Maschienen Code" ist n unterschied oda?
Videostelle:

6:10

:P

Hier die Textstelle im Buch:


Für solche Zwecke wurden in C++ die inline-Funktionen geschaffen.
Stellen Sie das Schlüsselwort inline vor eine Funktion, so wird der Compieler
angewiesen, diese Funktion nicht als eine aufrufbare Funktion in den
MaschienenCode zu übersetzen, sondern den Code an der Stelle zu setzen,
wo die Funktion aufgerufen wird. Damit sollte der Aufwand der bei einem
Funktionsaufruf betrieben wird, vermieden werden.

G36KV
05.08.2010, 18:16
Zuhörn will gelernt sein:

Ich habe nicht gesagt, "Er schreibt das NICHT in den Maschienen Code"
ich habe lediglich gesagt, "Er schreibt das nicht als AUFRUFBARE FUNKTION
in den Maschienen Code" ist n unterschied oda?

Nimm ein Debugger und schau nach, deine Aussage ist falsch.

Der VC++ Compiler ist standardmäßig so eingestellt, dass er alle kleinen Methoden so optimiert, dass sie nicht als "CALL" im Maschinencode auftauchen. Deswegen bringt der inline Befehl nichts, wie fuckinghot19 schon richtig gesagt hat.
Außerdem: Einen Anfänger mit diesen für ihn unwichtigen Müll vollzulabern ist einfach schlecht. Ein Anfänger braucht nicht wissen, dass es einen inline Befehl gibt! Wer nicht weiss was dieser Befehl wirklich machen soll, der sollte inline auch nie benutzen (das trifft auf dich zu, im Buch lesen bringt an dieser Stelle nichts). Es gibt auch praktisch keinen Geschwindigkeitsvorteil, wenn es der Compiler nicht schon automatisch optimieren würde.


Zu system():
Damit führt man Systembefehle aus... das ist weder platformunabhängig noch hat es etwas mit C++ zu tun. Wer dumme Win Batch Skripte schreiben will, soll gefälligst Batch lernen...

jookerxxx
05.08.2010, 22:13
Außerdem: Einen Anfänger mit diesen für ihn unwichtigen Müll vollzulabern ist einfach schlecht.

Find ich nicht, denn: Wer von Anfang an ( wir reden von EINEM BEFEHL )
optimiertes programmieren lernt, ( und der Befehl ist nun wirklich nicht
kompliziert ) , der hats leichter.Was machen denn die Anfängern,
wenn sie später sowas in nem Code hervorfinden?


Zu system():
Damit führt man Systembefehle aus... das ist weder platformunabhängig noch hat es etwas mit C++ zu tun. Wer dumme Win Batch Skripte schreiben will, soll gefälligst Batch lernen..

Demnach dürften die .rsc Dateien in einem Win32 Projekt auch nicht
existieren , oder? ist ja auch ne stark abwegige Sprache. :P

G36KV
06.08.2010, 18:09
Find ich nicht, denn: Wer von Anfang an ( wir reden von EINEM BEFEHL )
optimiertes programmieren lernt, ( und der Befehl ist nun wirklich nicht
kompliziert ) , der hats leichter.
Scheinbar hast du es nicht verstanden, hier noch mal deutlicher:
Jeder der "inline" benutzt aus Gründen der Code Optimierung ist ein Idiot bzw. ein sehr unfähiger Programmierer. So eine Optimierung sollte man dem Compiler überlassen und es gibt viele andere und bessere Stellen wo ein Programmierer den Code optimieren kann. Es gibt aber sehr wohl andere Gründe warum man "inline" brauchen könnte. Diese anderen Gründe sind aber absolut nichts für Anfänger.


Demnach dürften die .rsc Dateien in einem Win32 Projekt auch nicht
existieren , oder? ist ja auch ne stark abwegige Sprache. :P
Scheinbar hast du es nicht verstanden, hier noch mal deutlicher:
Deine system() Befehle kann man auch mit C++ Befehle ersetzen. Ich weiss, dass ist jetzt neu für dich, aber auch C++ kann z.B. mit Datum und Zeit umgehen, unglaublich was?

jookerxxx
07.08.2010, 20:17
Ja ich weiß dass es die Gibt.
Zb. in der HeaderDatei <time.h> gibts doch welche oda? :P
Naja, ich will jetzt hier kein Streit anfang, ihr seit die großen ...
Ich Nicht ! xD

Dann werd ich die TutorialSerie weiterführen, und versprechen hier imma fleißig von
den großen zu lernen :)

onlyrealnapster
08.08.2010, 01:49
Ich finde es sehr nett gemeint, doch es gibt ein paar bessere auf YouTube. Doch es gibt auch erheblich schlechtere, für den Anfänger geht es, doch leider gibt es da ein Paar klitzekleine Fehler, wie zB beim Compiler. Na ja, aber nicht schlecht Herr Specht, und immernoch nett gemeint:D.