ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
736
736
EMPFEHLEN
-
Hallo,
ich habe zwei uint32 Pointer x und y. Nun möchte ich den Inhalt von der im Speicherbereich von y steht in den Speicherbereich von x schreiben.
Reicht x = y aus oder wechsele ich damit nur den Speicherbereich auf den x zeigt?
Viele Grüße
jump
-
Is korrekt ... muss de Dereferenzieren:
Code cpp:1 2 3 4 5 6 7
#include <algorithm> uint32_t* ptr_x = /* ... */; uint32_t* ptr_y = /* ... */; // vertauschen std::swap(*ptr_x, *ptr_y);
-
Geht das auch nur in eine Richtung? Mit Swap vertausche ich beides, oder?
Hm,
ich hab mir nun meine eigene Methode dafür geschrieben, die sollte die gewünscht Funktionalität erfüllen, oder?
swap2(uint32& a, uint32& b)
{
a = b;
}
-
23.05.09 18:45 #4
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.Das kommt drauf an wie du die Funktion aufrufst. Allerdings würde sie vom Namen her ihrer Funktionalität nicht nachkommen, denn sie sollte ja einen Swap durchführen...
Wie devDevil bereits sagte, du mußt die Zeiger dereferenzieren:
GrußCode c:1 2 3 4
uint32 *a = /* .. */; uint32 *b = /* ... */; *a = *b;
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Die Funktion swap2 soll nur den inhalt des Speicherbereichs von y in den speicherbereich x schreiben und wird folgendermaßen aufgerufen;
swap2(*a,*b)
Nur um sicher zu gehen:
*a = *b reicht für mein Anliegen aus? Dann kann ich mir meine swap2 Methode auch sparen!
Vielen Dank schonmal,
jump
PS: Spielt es eine Rolle wenn b in einem vector steht? quasi *a = *vector[0]Geändert von jumpfunky (23.05.09 um 19:34 Uhr)
-
23.05.09 20:01 #6
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Ja, dann solltest du die Funktion aber nicht swap2 nennen. Wenn du eine Funktion zum Raktenabschuss hast und nennst diese "spiele_solitaire", wird es evtl. früher oder später zu Problemen kommen...

Allerdings.
Nein, das macht keinen Unterschied.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
[C++, Qt] Inhalt einer datei überschreiben
Von Ischterai im Forum C/C++Antworten: 2Letzter Beitrag: 07.07.09, 09:25 -
Inhalt in Mysql DB schreiben und gleiche Zeilen Überschreiben
Von Silver83 im Forum Java GrundlagenAntworten: 3Letzter Beitrag: 04.05.09, 18:54 -
[C] Prüfen, ob Inhalt von Pointer auf Pointer existiert
Von mc_gulasch im Forum C/C++Antworten: 4Letzter Beitrag: 07.07.06, 13:34 -
In jar-Datei schreiben aber nicht alten Inhalt überschreiben
Von mrno im Forum JavaAntworten: 9Letzter Beitrag: 22.11.05, 11:25 -
In Datei schreiben aber nicht alten Inhalt überschreiben
Von gwaan im Forum JavaAntworten: 2Letzter Beitrag: 16.11.05, 00:02





Zitieren

Login






