Übergabe per Wert?
Übersicht

JRRT0lkienBetreff: Übergabe per Wert? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Ich habe mal C++ gemacht und erinnere mich, dass man Funtionsparameter auf zwei verschiedene Weisen übergeben kann: - man kann einen Pointer auf den Platz der Variable im Speicher übergeben. Wenn der Wert dann im Funktionsrumpf verändert wird, verändert sich auch die Variable, die man als Parameter übergeben hat. Dies ist, glaube ich, die Übergabe per Wert. - oder man übergibt nur eine Kopie der Variable als Parameter. Die echte Variable wird gar nicht verändert. Das ist die Übergabe per Kopie?! Bei BB ist Letzteres Standard. Wie kann ich Ersteres machen? Thx im Voraus! Gruß JRRT0lkien |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke du solltest die Variable, die du verändern willst, global machen. Dann kannst du sie in der Funktion verändern. Oder du speicherst die Funktion in die Variable, die du ändern willst. Dann wird die Änderung, die du in der Funktion machst mit Return übernommen.
Ich hoffe, das meintest du... Spike [edit]Beispiel: BlitzBasic: [AUSKLAPPEN] x=sowieso(x) Liefert den Wert +2 |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
- Zuletzt bearbeitet von Spikespine am Mi, März 23, 2005 14:00, insgesamt einmal bearbeitet
Michi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hoffe ich hb dich richtig verstanden
BlitzBasic: [AUSKLAPPEN]
Da steht dann 6 |
||
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968 Code: [AUSKLAPPEN] __ <_/__\_> <--- die Wayne-Zeichnung |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ganze nennt sich Call by Reference und Call by Value.
Erst ab BlitzMax mit dem Schlüsselwort Var möglich. In BlitzClassic nur möglich mit Types, Banks, Images etc. aber mit Variablen vom Typ String, Float und Integer geht das nicht. mfg olli |
||
vertex.dreamfall.at | GitHub |
JRRT0lkienBetreff: Danke! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Spike: dein Vorschlag würde bei mir deshalb nicht klappen, weil ich mit return schon einen anderen Wert zurückgeben will. Michi: danke, das ist die Lösung. Vertex: Schade, wäre schön, wenns ginge. Gruß JRRT0lkien |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest natürlich das Hanlde einer Bank übergeben, aber dann wirds schon ein bisschen kompliziert (immer PeekInt aufrufen...) ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group