const und solche Sachen



  • Pixel PixelFormat::MakePixel(const Color& color) const
    {...
    

    Was bewirkt das const am Ende der Parameter?

    class Context;
    class Camera;
    class Surface;
    class Engine;
    class Surface;
    class Material;
    class Palette;
    
    #include "value.h"
    #include "font.h"
    #include...
    

    Was für einen Grund kann es haben am Anfang die ganzen Klassen zu benennen?

    TRef<Surface> CreateSurface(HBITMAP hbitmap)
    {....
    
    TRef<Engine> CreateEngine(bool bAllow3DAcceleration, bool bAllowSecondary)
    {...
    

    Was könnte dieses TRef<...> sein. Ist das ein Templet? Und warum würde man sowas machen?

    So das waren ein paar Fragen die mich interessieren, ich jedoch keine Lösung dafür finden konnte.

    Danke, cu



  • Nur die Funktionen, bei denen das const steht, dürfen bei einem konstanten Objekt aufgerufen werden.

    Im zweiten Code sind Vorwärtsdeklarationen. Sie sind vielleicht notwendig, um die Klassen anderen Klassen, Funktionen, Unions und/oder Structs bekannt zu machen. Vielleicht wurden sie auch nur der Übersicht halber zusammen geschrieben.

    Das TRef ist eine Template-Klasse. Wofür sie steht kann man aber ohne weiteren Code nicht sagen (ich jedenfalls nicht).



  • Außerdem dürfen konstante Funktionen Membervariablen nicht ändern, und keine nicht-konstanten Funktionen aufrufen.


Anmelden zum Antworten