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.