Mengakses Nilai Pembolehubah daripada String yang Mewakili Nama Pembolehubah dalam C
Dalam C , adalah mungkin untuk mendapatkan nilai pembolehubah secara dinamik menggunakan nama sebagai rentetan. Teknik ini, biasanya dikenali sebagai refleksi, membenarkan penyahpepijatan dan keupayaan introspeksi yang fleksibel.
Untuk mencapainya, anda boleh menggunakan langkah berikut:
Dapatkan Pembolehubah Alamat:
Hantar ke Penunjuk:
Nilai Akses melalui Penunjuk:
Pembungkus Fungsi:
Untuk menjadikan proses lebih mudah, anda boleh mencipta fungsi yang mengambil rentetan yang mewakili nama pembolehubah dan mengembalikan nilai pembolehubah. Fungsi ini memudahkan langkah yang digariskan di atas:
<code class="cpp">template <typename T> T valueOf(const std::string& varName) { T* varPtr = static_cast<T*>(std::addressof(varName)); return *varPtr; }</li></ul> </li> </ol> <p><strong>Penggunaan:</strong></p> <p>Dengan fungsi valueOf, anda boleh dapatkan nilai pembolehubah secara dinamik:</p> <pre class="brush:php;toolbar:false"><code class="cpp">std::cout << valueOf<int>("counter") << std::endl;</code>
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengakses Nilai Pembolehubah Menggunakan Namanya sebagai Rentetan dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!