Avatar ·

هل يمكن عرض اسم نوع المتغير في لغة C++ القياسية؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم لغة C++ وواجهت مشكلة. أحتاج إلى تصحيح أخطاء الكود، وغالبًا ما أرغب في معرفة النوع الذي يمتلكه المتغير في لحظة معينة. في PHP أو JavaScript اعتدت استخدام var_dump() أو typeof التي تظهر النوع. في Python يوجد type(). لكن كيف يمكن فعل ذلك في C++؟ حاولت استخدام typeid من ، لكنه يعرض شيئًا غريبًا مثل "i" للنوع int أو "PKc" للنوع const char*. على سبيل المثال: ```cpp #include #include int main() { int a = 5; const char* str = "hello"; auto x = a + 3.14; std::cout << typeid(a).name() << std::endl; // يطبع "i" std::cout << typeid(str).name() << std::endl; // يطبع "PKc" std::cout << typeid(x).name() << std::endl; // يطبع "d" return 0; } ``` لماذا يُرجع typeid().name() اختصارات مكونة من حرف واحد؟ كيف يمكن الحصول على أسماء طبيعية قابلة للقراءة البشرية، مثل "int"، "const char*"، "double"؟ سمعت أن هناك طريقة