Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

enum - czy da się zmienić rozmiar zwracany przez sizeof

Ostatnio zmodyfikowano 2010-01-07 13:57
Autor Wiadomość
DejaVu
Temat założony przez niniejszego użytkownika
enum - czy da się zmienić rozmiar zwracany przez sizeof
» 2010-01-07 13:57:13
C/C++
enum typ1E { E_BLE, E_BLA };
enum typ2E { E_BLE2, E_BLA2 };

//...
std::cout << "Rozmiar: " << sizeof( typ1E ) << std::endl;
std::cout << "Rozmiar: " << sizeof( typ2E ) << std::endl;
Czy da się jakoś zmienić by sizeof zwracało inną liczbę bajtów dla konkretnego typu? Chciałbym aby np. typ1E zwracał sizeof(...) = 1, a tamten drugi standardowo.

/edit:
Mogą być jakieś myki np. ze zmianą typu podstawowego, ale żeby modyfikacje wymagały tylko innego zapisania 'bazy', a użycie enumów itd nie wymagało dodatkowego każdorazowego rzutowania.

/edit2:
Znalazłem:
enum [tag] [: type] {enum-list} [declarator];
Czyli:
C/C++
enum typ1E: char { E_BLE, E_BLA };
enum typ2E { E_BLE2, E_BLA2 };

//...
std::cout << "Rozmiar: " << sizeof( typ1E ) << std::endl;
std::cout << "Rozmiar: " << sizeof( typ2E ) << std::endl;

http://msdn.microsoft.com/en-us/library/2dzy4k6e.aspx

P-12765
« 1 »
  Strona 1 z 1