程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 仿SGI STL的traits技法

仿SGI STL的traits技法

編輯:C++入門知識

首先是iterator traits,這個是用來萃取迭代器的特性的

   _STL_ITERATOR_H_
 
 
 #include <cstddef>
 
  
                  forward_iterator_tag :      bidirectional_iterator_tag :      random_access_iterator_tag : 
     template< Category,  T,  Distance =              Pointer = T*,  Reference = T&>
             
     template< Iterator>
                 template< T>
      iterator_traits<T*>
             typedef T*         typedef T&      template< T>
      iterator_traits< T*>
             typedef  T*         typedef  T&  
     template< Iterator>
      iterator_category( Iterator&                 template< Iterator>
     inline typename Iterator::value_type*
     value_type( Iterator&           static_cast<typename iterator_traits<Iterator>::value_type*>(      template< Iterator>
     inline typename Iterator::difference_type*
     difference_type( Iterator&           static_cast<typename iterator_traits<Iterator>::difference_type*>(   

然後是type traits,這個是用來萃取c++語言型別(type)的特性的

   _TYPE_TRAITS_H_
 
 
  
 #include <iostream>
          _true_type {  print(){ cout <<  <<      _false_type {  print(){ cout <<  << 
     template< T>
             
     template<>
      _type_traits<>
            template<>
      _type_traits<>
            template<>
      _type_traits<unsigned >
            template<>
      _type_traits<signed >
            template<>
      _type_traits<wchar_t>
            template<>
      _type_traits<>
            template<>
      _type_traits<unsigned >
            template<>
      _type_traits<>
            template<>
      _type_traits<unsigned >
            template<>
      _type_traits<>
            template<>
      _type_traits<unsigned >
            template<>
      _type_traits< >
            template<>
      _type_traits<unsigned  >
            template<>
      _type_traits<>
            template<>
      _type_traits<>
            template<>
      _type_traits< >
        
     template< T>
      _type_traits<T*>
            template< T>
      _type_traits< T*>
            template<>
      _type_traits<*>
            template<>
      _type_traits<unsigned *>
            template<>
      _type_traits<signed *>
            template<>
      _type_traits< *>
            template<>
      _type_traits< unsigned *>
            template<>
      _type_traits< signed *>
         

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved