kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: warum "cout" und nicht "printf"

    geschrieben von goeranbarz

    printf übernimmt keine Typüberpfüfung der eingegebenen Parameter und ist somit fehleranfälliger. So ist es zum Beispiel möglich, bei printf folgendes einzugeben:

    int n = 10000;
    printf("%s", n);


    Obwohl man hier einen int übergibt, versucht die printf-Anweisung diesen als string zu interprtieren, was vom Compiler jedoch nicht abgefangen wird, sondern erst zur Laufzeit zu einem Fehler führt.


    Göran
  • in: Von Document Variablen aus View

    geschrieben von goeranbarz

    Dem Dokument eine Variable spendieren, die auf den View zeigt und in der View-Klasse die entsprechenden Zugriffsfunktionen bereitstellen?
  • in: C++ Zugriffsverletzung

    geschrieben von goeranbarz

    Du castest einen String auf einen einfachen Character. Dadurch wird der Pointer auf den String in einer char-Variable gespeichert, welche jedoch viel zu klein ist, um einen Pointer aufzunehmen, so dass von den vier Bytes eines Pointers drei verloren gehen. Unterlass mal das blödsinnige Casten und übergib die Werte direkt als char*, dann sollte das auch funktionieren
  • in: Edit Control Problem

    geschrieben von goeranbarz

    Hast du die Variable auch mit dem Control verbunden?

    An welchem Zeitpunkt rufst du SetReadonly auf?
  • in: C++ Winapi Enter in editbox

    geschrieben von goeranbarz

    Versuch es mal mit \r\n oder \r\r\n:

    strcat(lbuffer,"\r\nMuhaha");
  • in: Cursor setzen in DOS-Kommandozeile (Win32-Konsolenanwendung)

    geschrieben von goeranbarz

    gotoxy gibt es meines Wissens nach nur beim Borland-Compiler. Aus dem Windowsapi kann man die Funktion SetConsoleCursorPosition
    verwenden. Das für diese Funktion benötigte Handle erhälst du über GetStdHandle(STD_OUTPUT_HANDLE);
  • in: Variable erstellen und umkehren...

    geschrieben von goeranbarz

    Ein nachtr?gliches ?ndern der Gr??e mit realloc ginge notfalls auch, allerdings solltest du da schon ungef?hr wissen, mit welchen Gr??en du zu rechnen hast um ein zu h?ufiges neuallokieren zu verhindern

    z.B.:

    int nCurrentCount = 0;
    int nCurrentSize = 0;

    int* pArray = NULL;

    ...
    void add(int nNumber);
    {
    if (nCurrentCount == nCurrentSize)
    {
    nCurrentSize += 128;//Sinnvollen Wert je nach Problemstellung bestimmen
    pArray = realloc(pArray, nCurrentSize);
    }
    pArray[nCurrentCount] = nNumber;
    ++nCurrentCount;
    }
  • in: Variable erstellen und umkehren...

    geschrieben von goeranbarz

    In C++ k?nntest du dies mit der STL-Klasse list erledigen, in C wirst du deine eigene doppelt verkettete Listenstruktur implementieren m?ssen:

    struct ListElement
    {
    int nValue;
    struct ListElement* next;
    struct ListElement* last;
    };

    struct List
    {
    struct ListElement* first;
    struct ListElement* last;
    }

    void Init(struct List* list)
    {
    list->first = NULL;
    list->last = NULL;
    }

    void AddElement(struct List* list, int nValue)
    {
    struct ListElement* pElement = malloc(sizeof(structListElement));
    pElement->nValue = nValue;
    pElement->next = NULL;
    pElement->last = list->last;
    if (list->last == NULL)
    {
    list->first = pElement;
    list->last = pElement;
    }
    else
    {
    list->last->next = pElement;
    list->last = pElement;
    }
    }

    void DestroyList(struct List* list)
    {
    struct ListElement* p = list->first;
    while (p != NULL)
    {
    struct ListElement* pNext = p->next;
    free(p);
    p = pNext;
    }
    }


    Ein R?ckw?rtsausgeben der Liste w?rde etwa folgenderma?en aussehen;

    ListElement* p = list->last;
    while (p != NULL)
    {
    printf("%d", p->nValue)
    p = p->last;
    }
  • in: Variable von Form1 in Form2 bearbeiten in Visual c++

    geschrieben von goeranbarz

    In C++ kann jeder Klasse ein public, protected und private Bereich hinzugef?gt werden:

    class Form1
    {
    public:
    //?ffentlich zug?ngliche Variablen und Methoden

    protected:
    //Nur in dieser Klasse und in abgeleiteten Klassen
    //zug?ngliche Variablen und Methoden

    private:
    //Nur in dieser Klasse zug?ngliche Variablen und
    //Methoden
    };

    Wenn du die Variable in den Publicbereich setzt, dann
    kannst du auch von au?en ?ber das zugeh?rige Object auf sie zugreifen:

    Form1 myform;
    //Angenommen, myform hat du Variable x im //public-Bereich und du hast eine lokale Variable x //vom gleichen Typ. Dann kannst du die Variable //kopieren mit
    x = myform.x;

    Im Rahmen der Datenkapselung w?re es aber sauberer, die Variable x in den private-Bereich zu setzen und
    in den public-Bereich die entsprechenden Zugriffsfunktionen zu setzen:

    class Form1
    {
    public:
    //...
    int GetX const(){return m_x;}
    int SetX(int nVal){m_x = nVal;}

    private:
    int m_x;
    };
  • in: Welches Buch für Fortgeschrittene?

    geschrieben von goeranbarz

    Das typische C++-Buch für Fortgeschrittene ist eigentlich "Effektiv C++ programmieren" von Scott Meyers, allerdings behandelt es nur reines C++ und keine Bibliotheken. Zu DirectX kann ich dir keine Empfehlung geben, da ich damit selbst noch nicht gearbeitet habe.

Login zum Webhosting ohne Werbung!