Ik ben net begonnen met classes in C++. Ik wil het aantal bytes weten van een property uit mijn class. Deze wil ik later toevoegen aan een nieuwe (char | string | tchar?!) met precies genoeg bytes.
Ik werk met de windows header maar ik heb even een klein voorbeeldje nagebootst met de iostream én windows header.
Raar genoeg blijft `this->message` altijd 4 bytes (waarschijnlijk de grote van de verwijzing oid). Hoe kan ik toch de juiste grote opvragen?
Dan heb ik nog een ander vraagje over character sets. Ik weet dat `unicode` breder ondersteunt wordt maar ik weet niet echt goed hoe ik het moet toepassen en waar ik op moet letten. Mijn code werkt in `Multibyte` (ANSI?) maar in `Unicode` heb ik vaak last van foutmeldingen waarvan ik de oorzaak niet snap.
Ik werk met de windows header maar ik heb even een klein voorbeeldje nagebootst met de iostream én windows header.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| #include <windows.h> #include <iostream> using std::cout; class cMyClass { public: char *message; void doSomething(); }; void cMyClass::doSomething() { int size = sizeof(this->message); cout << size; // Output: 4 } int main() { cMyClass Object; Object.message = "Hello World!"; Object.doSomething(); return 0; } |
Raar genoeg blijft `this->message` altijd 4 bytes (waarschijnlijk de grote van de verwijzing oid). Hoe kan ik toch de juiste grote opvragen?
Dan heb ik nog een ander vraagje over character sets. Ik weet dat `unicode` breder ondersteunt wordt maar ik weet niet echt goed hoe ik het moet toepassen en waar ik op moet letten. Mijn code werkt in `Multibyte` (ANSI?) maar in `Unicode` heb ik vaak last van foutmeldingen waarvan ik de oorzaak niet snap.