在C++中,typeof
是一個宏,用于獲取一個變量或表達式的類型。它的作用是在編譯時獲取變量或表達式的類型,并將其類型名使用。這對于編寫通用代碼和模板非常有用,因為可以在不知道具體類型的情況下獲取類型并進行操作。例如:
typeof(5) x; // x的類型為int
typeof(3.14) y; // y的類型為double
typeof(x + y) z; // z的類型為double,因為x和y相加的結果為double
需要注意的是,typeof
是一個GNU擴展,在標準C++中是不存在的,因此在使用時需要確保編譯器支持該擴展。在C++11標準中,可以使用decltype
關鍵字來實現類似的功能。