- 博客(5)
- 资源 (34)
- 收藏
- 关注
原创 C++类型支持之std::is_function
std::is_function(C++11)用于检查类型是否为函数,此处函数类型包括std::function, lambda, 有重载operator()的类。可能的实现:// 初等模板template<class>struct is_function : std::false_type { };// 对常规函数的特化template<class Fn, class... Args>struct is_function<Fn(Args...)> : s
2020-10-25 16:55:33 1490 1
原创 C++类型支持之std::decltype
前言std::decltype主要用于推导输入表达式的类型,注意该推导过程在编译期完成,并不会真正对表达式求值。推导规则如下:如果输入为标识符表达式或类成员表达式,则推导类型即为标识符或类成员的类型如果输入为类型为T的其他形式表达式:如果表达式的值为左值,则推导结果为 T&如果表达式的值为纯右值,则推导结果为 T如果表达式的值为将亡值,则推导结果为 T&&如果输入的变量类型包含在括号内,则认为类型为左值,结果为T&标识符表达式与类成员表达式cla
2020-10-25 16:01:11 863
原创 C++类型支持之数组
std::is_array(C++11) 用于判断一个类型是否为数组,如果为数组,则返回1,否则返回0。可能实现:template<class T>struct is_array: std::false_type {};template<class T>struct is_array<T[]> :std::true_type{};template<class T, std::size_t N>struct is_array<T[N]&
2020-10-24 20:08:41 913
原创 C++类型支持之类型关系
std::is_same用于判断两个类型是否相同,注意,这里需要考虑const和volatile的限定,即 T 和const T是不相同的。std::is_same满足交换律,即std::is_same<A, B>::value == std::is_same<B, A>::value。可能的实现为:template<class T, class U>struct is_same : std::false_type{};template<class T&
2020-10-24 19:17:03 194
原创 C++类型支持之std::is_void
std::is_void主要用于判断指定类型是否为void,注意这里的void包括 void, const void, volatile void 及const volatile void。可能实现为:template<class T>struct is_void: std::is_same<void, typename std::remove_cv<T>::type> {};#include <iostream>using namespace
2020-10-24 18:47:03 1593 1
Mac苹果机界面仿真器
2008-11-22
DPS7.05源程序+注册机(经试验可以使用)(part-2)
2009-08-04
DPS7.05源程序+注册机(经试验可以使用)(part-1)
2009-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人