Was kann man mit Void machen?



  • void war im alten C das pendant zu C++ templates



  • Skym0sh0 schrieb:

    void war im alten C das pendant zu C++ templates

    Falsch, das waren Macros.



  • pfoit schrieb:

    Nichts zurückgeben. Vorteil: Man muss nichts zurück geben.

    Gute Antwort 😃



  • hellOween schrieb:

    Skym0sh0 schrieb:

    void war im alten C das pendant zu C++ templates

    Falsch, das waren Macros.

    Jein. Mit void* kann man sich auch was template-artiges basteln. Aber void ist einfach "nichts". Drum kann man mit "void" allein auch nur "nichts" machen.



  • sanyas schrieb:

    hellOween schrieb:

    Skym0sh0 schrieb:

    void war im alten C das pendant zu C++ templates

    Falsch, das waren Macros.

    Jein. Mit void* kann man sich auch was template-artiges basteln. Aber void ist einfach "nichts". Drum kann man mit "void" allein auch nur "nichts" machen.

    Wundert mich, dass das erst an 6ter Stelle kommt.

    Vor allem von Nexus hätte ich den void Pointer erwartet. (*druck-mach*) :p



  • Mit Void kann man garnix machen. Mein Compiler kennt kein Void.
    void ist natürlich wieder eine andere Sache.



  • void zeigt auf eine zufällige Speicheradresse. Deswegen würde ich void benutzen, wenn ich mit Speicheradressen rumhantiere.



  • Kóyaánasqatsi schrieb:

    void zeigt auf eine zufällige Speicheradresse. Deswegen würde ich void benutzen, wenn ich mit Speicheradressen rumhantiere.

    Wie kommst du auf so eine Aussage?
    void (!) zeigt nirgendwohin, der Versuch, ein void-Objekt zu erstellen, resultiert in nem Compile-Error.
    void * enthält (wie jeder halbwegs vernünftige Zeiger) eine Adresse! Wenn ich dem void-Pointer nichts zuweise, oder mit 0 initialisiere zeigt er wie jeder andere Pointer irgendwohin - das ist aber keine void*-spezifische Eigenschaft...



  • Omfg, meinte natürlich, dass void* eine Adresse ist, die auf irgendetwas zeigt. Bzw. darf das der Programmierer selber entscheiden.



  • Kóyaánasqatsi schrieb:

    Omfg, meinte natürlich, dass void* eine Adresse ist, die auf irgendetwas zeigt. Bzw. darf das der Programmierer selber entscheiden.

    Würde ich so auch nicht sagen.
    Wenn man sich als Programmierer dazu entschliesst, sich dafür zu entscheiden, dass irgend ein void* auf z.B. einen "long" zeigt, und versucht diesen dann zu dereferenzieren, dann kann man u.U. sein Blaues Wunder erleben. z.B. dann, wenn das Alignment der Adresse nicht für "long" geeignet ist.


Anmelden zum Antworten