注意:typeid是操作符,不是函式。這點與sizeof類似)執行時獲知變數型別名稱,可以使用 typeid(變數).name()
需要注意不是所有編譯器都輸出」int」、」float」等之類的名稱,對於這類的編譯器可以這樣使用
int ia = 3;
if(typeid(ia) == typeid(int))
bool before(const type_info& __arg) const
bool
operator==(const type_info& __arg) const
bool
operator!=(const type_info& __arg) const
virtual
bool __is_pointer_p() const;
virtual
bool __is_function_p() const;
protected:
const
char *__name;
explicit type_info(const
char *__n): __name(__n)
private:
type_info& operator=(const type_info&);
type_info(const type_info&);
};} // extern "c++"
#endif
下表列出了使用typeid操作符的表示式的值
int a;
double b;
char * c;
long d;
運算
描述typeid(a) == typeid(int)
true
typeid(a) == typeid(float)
false
typeid(a) == typeid(int *)
false
typeid(b) == typeid(double)
true
typeid(b) == typeid(float)
false
typeid(b) == typeid(long double)
false
typeid(c) == typeid(char *)
true
typeid(c) == typeid(char)
false
typeid(c) == typeid(string)
false
typeid(d) == typeid(long)
true
typeid(d) == typeid(int)
false
操作符typeid返回的是乙個type_info類(用於描述資料型別的乙個系統類)物件的引用。這個操作符可以用於表示式和型別名(包括自定的資料型別,比如類)。
參照【c++】typeinfo.h
c++中的typeid關鍵字
C typeid關鍵字詳解
注意 typeid是操作符,不是函式。這點與sizeof類似 執行時獲知變數型別名稱,可以使用 typeid 變數 name 需要注意不是所有編譯器都輸出 int float 等之類的名稱,對於這類的編譯器可以這樣使用 int ia 3 if typeid ia typeid int bool be...
C typeid關鍵字詳解
注意 typeid是操作符,不是函式。這點與sizeof類似 執行時獲知變數型別名稱,可以使用 typeid 變數 name 需要注意不是所有編譯器都輸出 int float 等之類的名稱,對於這類的編譯器可以這樣使用 1 int ia 3 2 if typeid ia typeid int 3 在...
關鍵字const詳解
關鍵字const 1 用關鍵字const定義變數指所定義的常量。即恆定的變數,即不可改變的變數。例 const int i 10 此時 i 就是乙個整型的常量,其值不能改變。在c 中如果用const定義乙個物件,那麼物件中的成員變數就是常數,不能改變 只能為初始化的值 如果用const定義類中的成員...