給定函數的輸入中的參數是否有可能返回具有該特定名稱的變量?根據C++中變量的名稱返回特定變量?
舉例來說,如果你有下面的代碼:
string returnsParameter(string parameter)
{
string a = "test";
string b = "test 2";
string c = "test 3";
return parameter;
}
你跑returnsParameter("a")
,是否有某種方式來回報「測試」?我試過使用指針和引用變量,但不能創建非常量引用。
有沒有辦法做到這一點,而不使用地圖?
'if(parameter ==「a」)return a;'重複三次? C++編譯器通常不會在運行時存儲有關變量名稱的信息,因此如果您想避免自己輸入「if」,則必須採取一些元編程(大概是使用宏)。 – yeputons
編號時,變量名稱'消失'。你可以用地圖做類似的事情。 – Biffen
我可以使用if語句,但實際中的代碼包含19個要返回的變量;我想知道是否有更簡單的方法來做到這一點? 我想使用地圖,但爲了本練習的目的(這是一個介紹級的C++類),我不允許將任何數據存儲在數組,矢量或特殊對象中。 – ohitsanazn