2
我想知道是否有任何方法來檢查給定的類是否包含給定的成員,除了給定的成員的名字是作爲std :: string提供的。這裏是我的情況爲例:是否可以動態檢查一個文本字符串是否是C++中給定類的成員?
class MyClass {
public:
int a;
int b;
int c;
void Handle_Class(std::string prop) {
if (this->prop) { //pseudo code of what I want to accomplish
//do stuff
};
};
} my_class;
int main() {
my_class.Handle_Class("a");
};
我知道Handle_Class不是這樣的功能最好的名字,但它基本上應該檢查類有一個叫做道具成員。 我不知道如何實際做到這一點。基本上我試圖動態檢查一個類是否有給定的成員。 我有很多的經驗,在Lua中,你可以很容易地在Lua做到這一點(雖然Lua是不是面向對象的,你可以做到這一點使用表)
local my_table = {a = 123; b = 456; c = 789};
local function Handle_Table(prop)
if my_table[prop] then
print("property "..prop.." exists inside my_table!");
end
end
我希望得到任何幫助。 感謝
是U覈實一些變量? – Megha
如果我對你的方法不太熟悉,可以用地圖完成,你可以設置一些值,例如這樣的地圖,這樣你就可以比較字符串並獲得int。 –
請參閱[爲什麼C++沒有反射?](https://stackoverflow.com/q/359237/10077) –