الوصول إلى القيمة المتغيرة من سلسلة تمثل اسم المتغير في لغة C
في لغة C، من الممكن الحصول على قيمة متغير ديناميكيًا باستخدام خاصيته الاسم كسلسلة. تسمح هذه التقنية، المعروفة باسم الانعكاس، بقدرات مرنة على تصحيح الأخطاء والاستبطان.
ولتحقيق ذلك، يمكنك استخدام الخطوات التالية:
الحصول على المتغير العنوان:
تحويل المتغير العنوان إلى مؤشر من نوع المتغير. يتيح لك هذا الوصول إلى قيمة المتغير بشكل غير مباشر. على سبيل المثال: int* counterPtr = static_cast
استخدم عامل عدم المرجعية (*) للوصول إلى قيمة المتغير من خلال المؤشر. على سبيل المثال: std::cout
لجعل العملية أكثر ملاءمة، يمكنك إنشاء دالة تأخذ سلسلة تمثل اسم المتغير وتقوم بإرجاع قيمة المتغير. تعمل هذه الوظيفة على تبسيط الخطوات الموضحة أعلاه:
template
T valueOf(const std::string& varName) {
T* varPtr = static_cast(std::addressof(varName));
return *varPtr;
}
]std::cout ("counter")
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3