"wilde zeiger"
-
ich habe eine etwas ältere ausgabe von "jetzt lerne ich c++" (kaufts euch ja nicht ) nun ja da gibt es im kapitel zeiger ständig so warnungen, dass man wilde zeiger (zeiger die auf etwas verweisen was nicht mehr da ist) unbedingt vermeiden muss, da sonst einfach sachen manipuliert werden können, die mit dem programm garnichts mehr zu tun haben.
ich meine aber mal, dass windows doch sicher irgendwie einen schutz dagegen hat, dass ich mit meinen zeiger in der speicher anderer programme eingreifen kann oder etwa nicht???. es wäre ja mal ziemlich cool wenn man passwörter und so einfach über "wilde zeiger" zufällig manipulieren könnte...
-
Mit den Zeigern kannst du unter Windows eigentlich nur deinen eigenen Prozess beschädigen.
-
soso... naja warum die dann im buch so viel wert drauf legen... is aber ohnehin müll das buch... erst irgendwann in der mitte hört man was von schleifen...
-
Die Welt besteht nicht nur aus Windwos! Insofern ist die Warnung voll berechtigt, da ein "wilder" Zeiger nunmal auf anderen Systemen (z.B. Waschmaschine) alles zum Absturz bringen kann. Und ja, man kann sogar unter Windows sein EIGENES Programm damit zum Absturz bringen.
-
Du kannst dir aber wie gesagt den eigenen Prozess zerschießen. Rate mal wie Bufferoverflows, etc. funktionieren.
erst irgendwann in der mitte hört man was von schleifen...
Ja und?
Man kann doch auch alles mit Rekursionen lösen. Wenn der Compiler mit Tailrecusion umgehen kann und du entsprechend programmierst hat du nichtmals Probleme mit Stacküberläufen.Du hast gesagt, das du von QB kommst, also wirst du schleifen dem Prinzip nach bereits kennen.
DO WHILE foo LOOP
while (foo) { }
DO LOOP WHILE foo
do { } while (foo);
FOR i = a TO b-1 STEP c NEXT
for (int i=a; i<b; i+=c) { }
Aber das ist doch Kinderkacke, triviale Grundlage. Da sagt einem mal eben einer wie's geht und nach spätestens fünf Minuten kann man's.
-
[quote="Artchi"]Die Welt besteht nicht nur aus Windwos![quote]
auch linux, bsd und so? die schützen ihre prozesse auch.Insofern ist die Warnung voll berechtigt, da ein "wilder" Zeiger nunmal auf anderen Systemen (z.B. Waschmaschine) alles zum Absturz bringen kann.
ei, da haste aber ein ungewöhnliches system. es gibt mehr lottogewinner als waschmaschinenprogrammierer.
und für waschmaschinen und ähnliche systeme wurde java erfunden.
-
volkard schrieb:
[...]es gibt mehr lottogewinner als waschmaschinenprogrammierer.
und für waschmaschinen und ähnliche systeme wurde java erfunden.Ich musste mal eine Waschmaschine proggen. :p (Aber in so ner SPS-Sprache AS
)