هل يمكن عرض اسم نوع المتغير في لغة 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"؟ سمعت أن هناك طريقة