中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++ typeid的作用是什么

c++
小億
91
2024-02-01 16:27:41
欄目: 編程語言

C++中的typeid是一個運算符,用于獲取一個表達式的類型信息。它的作用是返回一個std::type_info對象,該對象包含了表達式的類型信息,包括類型的名稱。

typeid通常與dynamic_caststd::type_info一起使用,用于在運行時識別對象的實際類型,從而實現多態性。

下面是typeid的使用示例:

#include <iostream>
#include <typeinfo>

class Base {
   virtual void foo() {}
};

class Derived : public Base {};

int main() {
   Base* basePtr = new Derived();

   // 使用typeid獲取basePtr所指對象的類型信息
   const std::type_info& type = typeid(*basePtr);

   // 打印類型的名稱
   std::cout << "Object type: " << type.name() << std::endl;

   // 使用typeid進行類型判斷
   if (type == typeid(Base)) {
      std::cout << "Object is of type Base" << std::endl;
   }
   else if (type == typeid(Derived)) {
      std::cout << "Object is of type Derived" << std::endl;
   }

   delete basePtr;
   return 0;
}

輸出結果:

Object type: class Derived
Object is of type Derived

在上面的示例中,typeid(*basePtr)返回的type_info對象的名稱為"class Derived",表示basePtr所指的對象的實際類型是Derived

0
延长县| 祁阳县| 彭阳县| 深州市| 和平区| 门头沟区| 曲水县| 平乐县| 浦东新区| 泊头市| 安宁市| 乌拉特前旗| 平和县| 康定县| 桂阳县| 芮城县| 武宁县| 县级市| 汾阳市| 南城县| 夏津县| 古丈县| 富顺县| 墨玉县| 玛沁县| 张掖市| 师宗县| 叙永县| 金寨县| 卓资县| 隆尧县| 英吉沙县| 孟村| 九龙坡区| 东明县| 万荣县| 萨迦县| 新乡市| 承德市| 永新县| 廊坊市|