Rozważmy następujący przykład:Jak zdobyć elementu struct z ciągiem przy pomocy makr C++
struct MyStruct {
int a;
int b;
};
mogę korzystać z makr, aby ustawić element z instancji struct robiąc to:
#define setVar(x,y) instance.x = y
następnie w dowolnej funkcji mogę powiedzieć:
setVar(a, 4)
jak mogę wysłać je w postaci ciągu do makra? Czy to też jest możliwe?
setVar("a", 4)
EDYCJA: Istnieje kilka predefiniowanych struktur z członami, które są typu podwójnego. Wiem tylko, jakiej struktury używam przez plik konfiguracyjny XML, który jest przekazywany. Po przeanalizowaniu mam pęczek ciągów, które są listą wszystkich elementów danych i wartości, które należy ustawić. Potrzebuję użyć tej listy, aby ustawić wartości dla każdego członka w strukturze.
Dlaczego chcesz korzystać z makr w ten sposób? – crashmstr
Czy chcesz programowo w czasie wykonywania skonstruować nazwy pól? To jest niemożliwe. – liori
Nie, istnieje garstka predefiniowanych struktur, do których potrzebuję uzyskać dostęp do danych i mogę uzyskać do nich dostęp tylko za pomocą pliku xml z listą jego zmiennych. Czy jest inny sposób na zrobienie tego? Również x będzie zawsze typu podwójnie – ulu5