Napisałem funkcję szablonu, która przyjmuje dowolną liczbę typów i wyświetla ich rozmiary dla podstawowej architektury i systemu operacyjnego. Jednak funkcja nie jest w stanie odróżnić aliasu od typu rzeczywistego, więc jest oceniana tak, jakby była typu rzeczywistego.Różnicowanie aliasu i prawdziwych typów podczas kompilacji?
Mimo to chcę mieć możliwość rozróżnienia aliasu i typu wbudowanego w czasie kompilacji i na przemian dane wyjściowe na jego podstawie.
func<unsigned int, size_t>();
wyjściowa:
Unsigned int is 4 bytes.
Unsigned int is 4 bytes.
Jednakże chcę wyjście tak być,
Unsigned int is 4 bytes.
size_t is an alias for unsigned int.
Oczywiście to wymaga kompilatora, aby móc odróżnić alias i wbudowany wpisz w czasie kompilacji.
Czy istnieje sposób na odróżnienie prawdziwego typu i aliasu w czasie kompilacji w dowolnej wersji C++?
Co za miłe pytanie od nowego użytkownika! – Bathsheba