Zastanawiam się, czy możliwe jest ograniczenie typu szablonu do typu zmiennej o określonym rozmiarze? Zakładając, że chce przyjąć 4 bajtów zmienną i odrzuca wszystkie inne, jeśli ten kod działa na jakiś kompilator gdzie sizeof (int) == 4 i sizeof (bool) == 1:Ogranicz typ szablonu C++ do określonego rozmiaru zmiennej
template <class T> FourOnly {...};
FourOnly<int> myInt; // this should compile
FourOnly<bool> myBool; // this should fail at compilation time
Każdy pomysł? Dzięki!
Wygląda na to, że pytasz o odpowiedź na coś, co "myślisz", jest rozwiązaniem większego problemu. Dlaczego tego potrzebujesz? –
@Zadirion Wprowadziłem zaciemnioną zmienną int (int, która jest de/zaciemniana w locie za każdym razem, gdy jest używana, ale jest przechowywana jako zaciemniona na stercie). Obfuskacja to po prostu tasowanie bitów za pomocą trochę masek i przesuwanie. Próbowałem stworzyć szablon, aby zastosować go do każdego typu prymitywnego o tym samym rozmiarze (mógłbym używać tych samych masek do tasowania). – Marco83
aaaah, ciekawe! Interesujący przypadek użycia może okazać się przydatny: D +1! –