私は独自の型特性の実装を試みたときに、結果をstd <type_traits>
と比較しました。私は機能するべきだと思ったタイプfloat (int) const
のタイプ形質をチェックしようとしました。私は奇妙な結果を得たので、この型を標準型の型に渡そうとしました。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つの可能性だけを残します。 –
また、それぞれ1ビットの出力を出力する10行を出力しましたが、出力は8ビットしか出力しませんでした。コードと出力が一致しません。 – user2357112