Odpowiadając krótko na obecny stan standardu języka C++: Nie.
Jeśli jednak zagłębić się w temat, oczywiście istnieje taka możliwość. Problemy które należy przezwyciężyć to uzyskanie informacji o:
1. Przesunięciu danego pola od początku obiektu czy struktury.
2. Jego typie (a więc i wielkości)
3. Jego nazwie zrozumiałej dla człowieka.
Jeśli chcesz te informacje wyłuskać, to masz możliwe drogi:
1. RTTI (Run Time Type Information) https://en.wikipedia.org/wiki/Run-time_type_information
2. Techniki dodatkowych makr budujących te informacje (co robi implementacja metaobiektów dla Qt)
3. Mechanizmy rozszerzeń dla danego kompilatora (np. kernel GNU/Linux intensywnie wykorzystuje rozszerzenia dla gcc by takie cele osiągać dla nawet zwykłego C)
4. Mechanizmy szablonowe które implementują refleksyjność.
5. Czekanie na mechanizmy refleksyjności które są obecnie na etapie propozycji w standardzie.
Każda z tych metod przy omówieniu nie mieści się w zakresie odpowiedzi na forum i ma swoje ograniczenia, dobre i słabe strony, zakres zastosowań dla danego kompilatora.