當我嘗試自己實現的類型特徵時,我將結果與std <type_traits>
進行了比較。我試圖檢查類型float (int) const
,我認爲應該是功能的特徵。我得到了奇怪的結果,所以我試圖將這種類型傳遞給std類型特徵。這是我的測試代碼:float(int)的類型特徵const
std::cout << std::is_function<float (int) const>::value;
std::cout << std::is_compound<float(int) const>::value;
std::cout << std::is_pointer<float(int)const>::value;
std::cout << std::is_class<float(int)const>::value;
std::cout << std::is_union<float(int)const>::value;
std::cout << std::is_member_pointer<float(int)const>::value;
std::cout << std::is_array<float(int)const>::value;
std::cout << std::is_scalar<float(int)const>::value;
std::cout << std::is_enum<float(int)const>::value;
std::cout << std::is_object<float(int)const>::value;
產量爲以下:
0100000001
含義,這種類型的化合物是對象&,但不是標量。根據http://www.cplusplus.com/reference/type_traits/,它應該是類,聯合或數組,其中沒有一個是真的。這種類型應該是正確的結果?我正在使用MSVC 2015.
你鏈接頁面的哪一部分讓你認爲'float(int)const'應該是一個類,聯合體或數組類型? – user2357112
事實上,它是複合的,但不是標量的對象只留下這3種可能性。 –
此外,你已經發布了10行,每行應輸出一位輸出,但只輸出8位輸出。您的代碼和輸出不匹配。 – user2357112