看見別人的
帖子 ,也做了下。
代碼只支持內建類型。
1 #include < iostream > 2 3 template< bool , typename T, typename F > 4 struct Select_type { typedef T R; } ; 5 6 template< typename T, typename F > 7 struct Select_type < false , T, F > { typedef F R; } ; 8 9 template< typename T, typename S > 10 struct Larger_type { 11 typedef typename Select_type< sizeof (T) >= sizeof (S), T, S > ::R R; 12 }; 13 14 template< typename T, typename S > 15 typename Larger_type< T, S > ::R min_value(T a, S b) 16 { 17 return a < b ? a : b; 18 }19 20 21 int main() 22 { 23 int a = 2 ; 24 double b = 1.2 ; 25 std::cout << min_value(a, b) << " " << min_value(b, a) << " \n " ; 26 }27 28
浮點數與整型進行比較時,默認整型轉為浮點數
template< bool , typename T, typename F > struct Select_type { typedef T R; } ; template < typename T, typename F > struct Select_type < false , T, F > { typedef F R; } ; template < typename T > struct Type_rank { static const int rank = 0 ; } ; template <> struct Type_rank < float > { static const int rank = 21 ; } ; template <> struct Type_rank < double > { static const int rank = 22 ; } ; template <> struct Type_rank < long double > { static const int rank = 23 ; } ; template < typename T, typename S > struct Larger_type { static const int fa = Type_rank < T > ::rank; static const int fb = Type_rank < S > ::rank; static const bool flag = fa > fb || (fa == fb && sizeof (T) >= sizeof (S)); typedef typename Select_type < flag, T, S > ::R R; } ; template < typename T > struct Larger_type < T, T > { typedef T R;} ; template < typename T, typename S > typename Larger_type< T, S > ::R min_value(T a, S b) { return a < b ? a : b; }
亚洲av伊人久久综合密臀性色 |
国内精品伊人久久久久影院对白 |
久久精品国产亚洲αv忘忧草
|
久久精品成人免费看 |
浪潮AV色综合久久天堂 |
99精品国产在热久久无毒不卡 |
99久久精品久久久久久清纯 |
欧美久久亚洲精品 |
久久精品无码一区二区无码
|
69久久精品无码一区二区 |
久久人人超碰精品CAOPOREN |
99久久久精品 |
久久精品一本到99热免费 |
中文字幕久久欲求不满 |
99久久精品免费看国产一区二区三区
|
国内精品久久久久影院一蜜桃 |
国产成人AV综合久久 |
亚洲AV无码久久精品狠狠爱浪潮 |
久久精品成人 |
久久国产精品99精品国产987 |
99久久夜色精品国产网站
|
久久精品视频91 |
久久久国产精品 |
久久精品成人一区二区三区 |
精品久久久久久亚洲精品
|
久久精品国产99国产电影网
|
99久久成人国产精品免费 |
色综合久久久久无码专区 |
久久久无码精品亚洲日韩京东传媒 |
丰满少妇人妻久久久久久4 |
久久99精品国产99久久6男男 |
精品久久久久久久无码 |
91精品国产高清久久久久久io
|
99久久99久久精品国产片 |
久久免费线看线看 |
99久久99久久精品国产片 |
久久综合九色综合欧美狠狠 |
国产高清国内精品福利99久久 |
久久精品国产黑森林 |
久久午夜综合久久 |
久久久久波多野结衣高潮 |