Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C++ (auch C++0x und C++11) ::  Weiter gehts... Nur wo?  
Gehen Sie zu Seite Zurück  1, 2
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Yada
Mitglied

Benutzerprofil
Anmeldungsdatum: 22.12.2009
Beiträge: 31
Beitrag Yada Mitglied 20:10:08 01.02.2012   Titel:              Zitieren

Danke für die Buchempfehlung, werde ich mir ansehen!

Und cooky:
Für den Moment nur Pointer an sich.
cooky451
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.10.2010
Beiträge: 4840
Beitrag cooky451 Mitglied 20:15:45 01.02.2012   Titel:              Zitieren

Yada schrieb:

Und cooky:
Für den Moment nur Pointer an sich.
Was heißt für den Moment? Es ist ein Unterschied ob man versucht den Sinn von "Zeigern" im Sinne von Variablen, deren Wert auf etwas zeigt zu erklären, oder den Sinn von Pointern neben Referenzen.

_________________
Sie sind nicht berechtigt unrechtmäßige Kopien dieses Datenträgers zu erstellen.™
Hacker
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2011
Beiträge: 1855
Beitrag Hacker Mitglied 20:32:56 01.02.2012   Titel:              Zitieren

Pointer sind sehr sinnvoll, wenn du z.B. eine Globale "Variable" hast, die in vielen Modulen genutzt wird, aber deren Wert oder Inhalt erst zur Laufzeit ermittelt wird, also in der Main. Z.B. in Qt als qApp, ein Zeiger auf die aktuelle QApplication, die als allererstes in main() erzeugt wird, implementiert; in Headern muss man mit der aktuellen qApplication arbeiten, kennt aber ihre Werte noch nicht.
Neben Referenzen können Zeiger ihren Wert ändern, also auf verschiedene Dinge zeigen, was in manchen implementierungen sinnvoll ist.

_________________
Wenn du kein IPhone hast, ... dann hast du was anderes.
Yada
Mitglied

Benutzerprofil
Anmeldungsdatum: 22.12.2009
Beiträge: 31
Beitrag Yada Mitglied 17:23:16 07.02.2012   Titel:              Zitieren

Okay, so langsam verstehe ich Pointer. Zumindeste glaube ich das. Soweit ichs verstanden habe, zeigen Pointer auf bestimmte Speicherzellen und sind somit unabhängig vom eigentlichen Wert. Soweit richtig, oder?

Wäre dieser Gedankengang dann "sinnvoll" bzw. überhaupt möglich:
Eine Applikation X verfügt über die Klasse Y mit der Klassenvariable Z. Der Wert, den Z bekommen soll, wird bereits vor der Initialisierung von Klasse Y festgelegt. Könnte man also für den Wert Z einen Pointer verwenden, sodass der Konstruktor der Klasse Y auf diese Speicherzelle zugreift? Stark vereinfachtes Beispiel, aber immerhin würde man sich die Arbeit sparen der Klasse die Variable Z übergeben zu müssen.
Hacker
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2011
Beiträge: 1855
Beitrag Hacker Mitglied 19:43:37 07.02.2012   Titel:              Zitieren

Ne, da nimmt ma static constants.

C/C++ Code:
struct Y
{
    static const size_t meinenummer;
};

//Außerhalb der Klasse:
const size_t Y::meinenummer;
C/C++ Code:
struct Y
{
static const size_t meinenummer;
};

//Außerhalb der Klasse:
const size_t Y::meinenummer;
C/C++ Code:
struct Y
{
    static const size_t meinenummer;
};

//Außerhalb der Klasse:
const size_t Y::meinenummer;

Weiß nicht, ob es so richtig ist, ich glaube bei Basisdatentypen muss man sie außerhalb, bei Klassen innerhalb der Klassendefinition definieren.

_________________
Wenn du kein IPhone hast, ... dann hast du was anderes.
Gugelmoser
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.07.2007
Beiträge: 857
Beitrag Gugelmoser Mitglied 19:52:40 07.02.2012   Titel:              Zitieren

Yada schrieb:
Okay, so langsam verstehe ich Pointer. Zumindeste glaube ich das. Soweit ichs verstanden habe, zeigen Pointer auf bestimmte Speicherzellen und sind somit unabhängig vom eigentlichen Wert. Soweit richtig, oder?
Ein Zeiger ist genauso wie ein int, char, float eine Variable, darum auch Zeigervariable. Der Wert der Variablen ist eine Adresse. Bedeutung: Der Zeiger verweißt auf die Adresse, die er gespeichert hat.


Zuletzt bearbeitet von Gugelmoser am 19:53:03 07.02.2012, insgesamt 1-mal bearbeitet
schtätick
Unregistrierter




Beitrag schtätick Unregistrierter 19:54:17 07.02.2012   Titel:              Zitieren

Hacker schrieb:
Ne, da nimmt ma static constants.
Ne, da nimmt ma non-static constants.
Konkret: Lass das static weg, definiere den Wert innerhalb der Klasse und hör auf, hier Antworten zu geben.
Hacker
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2011
Beiträge: 1855
Beitrag Hacker Mitglied 20:08:11 07.02.2012   Titel:              Zitieren

schtätick schrieb:
Hacker schrieb:
Ne, da nimmt ma static constants.
Ne, da nimmt ma non-static constants.
Konkret: Lass das static weg, definiere den Wert innerhalb der Klasse und hör auf, hier Antworten zu geben.


Gut, ich meine nur, dass der Wert ja sowieso für alle Instanzen gleich ist, wieso dann nicht gleich static? Merke: er ist vor der Klasseninstanziierung festgelegt.

_________________
Wenn du kein IPhone hast, ... dann hast du was anderes.
Yada
Mitglied

Benutzerprofil
Anmeldungsdatum: 22.12.2009
Beiträge: 31
Beitrag Yada Mitglied 01:52:29 08.02.2012   Titel:              Zitieren

Ah okay, danke.

Dann gleich mal was völlig anderes:
Da man ja bekanntlicherweise programmieren sollte, um eine Sprache irgendwann zu beherrschen, und ich das ganze etwas "ausschmücken" wollte, habe ich angefangen so eine Art "Snake"-Klon zu basteln (Konsolenvariante).

Gelöst hab ichs so, dass ich die Koordinaten in einem Zweidimensionalen-Array speichere und mich via getch() bzw. den Pfeiltasten schonmal im bestimmten Spielraum bewegen kann.
Problem nur ist die Art und Weise meiner Spielfeld-"Generierung". Diese wird bei jeder Bewegung aufgerufen um das Spielfeld zu updaten - unschöner Nebeneffekt sind die Ruckler die man kurzzeitig vom Clearscreen sieht.

Kann man das irgendwie - möglichst mit Basics und Co. - umgehen?
C/C++ Forum :: C++ (auch C++0x und C++11) ::  Weiter gehts... Nur wo?  
Gehen Sie zu Seite Zurück  1, 2
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.