從C 語言中表示變數名稱的字串存取變數值
在C 中,可以使用變數動態取得變數的值名稱作為字串。這種技術通常稱為反射,可以實現靈活的調試和自省功能。
要達到此目的,您可以利用以下步驟:
取得變數位址:
轉換為指標:
透過指標存取值:
函數包裝器:
為了使過程更方便,您可以創建函數,該函數採用表示變數名稱的字串並傳回變數的值。此函數簡化了上述步驟:
<code class="cpp">template <typename T> T valueOf(const std::string& varName) { T* varPtr = static_cast<T*>(std::addressof(varName)); return *varPtr; }</code>
用法:
使用valueOf 函數,您可以取得動態變數值:
<code class="cpp">std::cout << valueOf<int>("counter") << std::endl;</code>
以上是在 C 中如何使用變數名稱作為字串來存取變數的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!