日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

c++ Factor泛型编程示例

發布時間:2023/11/28 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ Factor泛型编程示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

c++ Factor泛型編程示例

c++ 泛型編程 之Factor (c++ 設計新思維)
一.概述
泛化仿函數是將“請求(函數)封裝起來”,存儲與對象中,該對象是具有“value語義”的,因此支持拷貝,賦值和作為函數參數來傳值(pass by value)。通過該對象可間接的處理封裝的請求,類似于boost 中的function功能。本實現采用的是《Modern C++ Design》中的方案。更詳盡的說,具有以下特點:

  1. 可封裝任何處理請求,可接受函數指針,成員函數指針,仿函數,甚至其它泛化仿函數。
  2. 具備型別安全性,不會將錯誤的型別匹配到錯誤的函數上。
  3. 一種帶有“value語義的對象”。
    先介紹下C++中的可調用體:
  4. C風格的函數(C like function): void fun();
  5. C風格的函數指針(C like pointto function): void (*pFun)();
  6. 函數引用(reference to function),其行為本質上和const pointer to function類似。
  7. 仿函數(functor),類中自定義了operator () 的對象。
  8. Operator.*和operator->*的施行結果
  9. 構造函數
    在上述的任一項,可以在右側添加一對圓括號(),在里頭放入一組合適的參數。
    先來討論這樣一個問題,既然想把函數請求封裝到對象中,函數的參數如何確定?這里使用typelist(這是一個型別集,包含型別列表)。這里就可以把typelist作為HTFunctor的一個模板參數,包含所要封裝函數的參數型別信息。下面就先介紹下typelist實作。
    二.HTTypeList
    [cpp]
  10. template <class T, class U>
  11. struct HTTypeList
  12. {
  13.  typedef T Head;  
    
  14.  typedef U Tail;  
    
  15. };
    這是typelist的基本實作(只需兩個類型),現在問題是如何把n個類型連成鏈表。看下面這個例子就明白了
  16. typedef HTTypeList<char, HTTypeList<int, int> >
    (利用模板參數推導,編譯器自動產生,而不是運行期哦),這樣兩個以上的參數都解決了。
    現在問題如何定義一個參數的typelist。方法是,第二個模板參數設為NullType(空類型),這樣每個typelist都以NullType結尾,相當于C字符串的\0功能。看NullType的實作:
    [cpp]
  17. class HTNullType {};
    接著就要生產typelist了(一個參數,兩個參數,三個參數……)。這里用到宏,暫且定義4個typelist。
    [cpp]
  18. #define TYPELIST_1(T1) UTIL::HTTypeList<T1, UTIL::HTNullType>
  19. #define TYPELIST_2(T1, T2) UTIL::HTTypeList<T1, TYPELIST_1(T2) >
  20. #define TYPELIST_3(T1, T2, T3) UTIL::HTTypeList<T1, TYPELIST_2(T2, T3) >
  21. #define TYPELIST_4(T1, T2, T3, T4) UTIL::HTTypeList<T1, TYPELIST_3(T2, T3, T4) >
    另外要解決的問題,函數參數該是值類型(內部內型),還是引用類型(對于對象)。選擇合適的類型顯然能提高程序速度,肯定不想傳遞大對象參數時要額外拷貝。接下來這個東西就要登場了——( HTTypeTraits )
    三:HTTypeTraits
    可用于“編譯期根據型別作判斷”的泛型技術。大家也可參看boost中的type traits。
    [cpp]
  22. // 判斷T及U是否標示同一個類型
  23. template <typename T, typename U>
  24. struct HTIsSameType
  25. {
  26. private:
  27.  template<typename>  
    
  28.  struct In   
    
  29.  { enum { value = false }; };  
    
  30. template<>  
    
  31. struct In<T>  
    
  32. { enum { value = true };  };  
    
  33. public:
  34. enum { value = In<U>::value };  
    
  35. };
    [cpp]
  36. // 依flag選擇兩個類型中的一個,true為T,false為U
  37. template <bool flag, typename T, typename U>
  38. struct HTSelect
  39. {
  40. private:
  41.  template<bool>  
    
  42.  struct In   
    
  43.  { typedef T Result; };  
    
  44. template<>  
    
  45. struct In<false>  
    
  46. { typedef U Result; };  
    
  47. public:
  48. typedef typename In<flag>::Result Result;  
    
  49. };
    [cpp]
  50. // 編譯期bool型
  51. typedef char HTYes;
  52. struct HTNo { char padding[8]; };
  53. // 型別映射為型別,用于模板函數的偏特化,C++標準模板函數不能偏特化
  54. template
  55. struct HTType2Type { typedef T Type; };
  56. // 判斷T是否為類
  57. template
  58. struct HTIsClass
  59. {
  60. // U為類的話,會具現化此重載函數,因為參數為函數指針,即指向成員的函數指針  
    
  61. template <typename U> static HTYes IsClassTest(void(U::*)(void));  
    
  62. // U為非類,會具現化此重載函數  
    
  63. // C++標準:只有當其它所有的重載版本都不能匹配時,具有任意參數列表的重載版本才會被匹配  
    
  64. template <typename U> static HTNo IsClassTest(...);  
    
  65. // 對于sizeof,表達式不會被真正求值,編譯器只推導出表達式的返回結果的型別,因此只需函數的聲明即可  
    
  66. static const bool value = sizeof(IsClassTest<T>(0)) = sizeof(HTYes);  
    
  67. };
  68. // 判斷T是否為引用類型
  69. template
  70. struct HTIsReference
  71. {
  72. template <typename U> static HTYes IsReference(HTType2Type<U&>);  
    
  73. template <typename U> static HTNo IsReference(...);  
    
  74. static const bool value= sizeof(IsReference(HTType2Type<T>())) == sizeof(HTYes);  
    
  75. };
  76. template
  77. class HTTypeTraits
  78. {
  79. public:
  80. enum {   
    
  81.     isVoid =   
    
  82.     HTIsSameType<T, void>::value          ||  
    
  83.     HTIsSameType<T, const void>::value    ||  
    
  84.     HTIsSameType<T, volatile void>::value ||  
    
  85.     HTIsSameType<T, const volatile void>::value  
    
  86. };  
    
  87. enum { isReference = HTIsReference<T>::value };  
    
  88. private:
  89. template<bool IsRef>  
    
  90. struct AdjReference  
    
  91. {  
    
  92.     template<typename U>  
    
  93.     struct In { typedef U const & Result; };  
    
  94. };  
    
  95. template<>  
    
  96. struct AdjReference<true>  
    
  97. {  
    
  98.     template<typename U>  
    
  99.     struct In { typedef U Result; };  
    
  100. };  
    
  101. typedef typename AdjReference<isReference || isVoid>::  
    
  102.     template In<T>::Result AdjType;  
    
  103. // 正確的選擇函數參數的類型  
    
  104. // 對于精巧型(有構造函數和析構函數額外調用)采用引用傳參數,對于純量型(數值型別,枚舉型別,指針,指向成員的指針)采用直接傳值  
    
  105. typedef typename HTSelect<HTIsClass<T>::value, AdjType, T>::Result ParmType;  
    
  106. };
    四:HTFunctor
    HTTypeList及HTTypeTraits提供我們強大的功能。這讓我們實作HTFunctor更加的方便。下面直接看代碼。
    [cpp]
  107. // Functor對象明顯是個小對象,這里采用小對象分配器
  108. // 使用了Command模式及IMPL模式
  109. template
  110. struct HTFunctorImplBase : public HTSmallObject<>
  111. {
  112.  typedef R   ResultType;  
    
  113.  typedef HTEmptyType Parm1;  
    
  114.  typedef HTEmptyType Parm2;  
    
  115. };
  116. template <typename R, class TList, class ObjClass>
  117. struct HTFunctorImpl;
  118. // 無參數版本
  119. template <typename R, class ObjClass>
  120. struct HTFunctorImpl<R, HTNullType, ObjClass> : public HTFunctorImplBase
  121. {
  122. typedef R       ResultType;  
    
  123. virtual ResultType operator()(ObjClass* pObj) = 0;  
    
  124. virtual HTFunctorImpl* Clone() const = 0;  
    
  125. virtual ~HTFunctorImpl() {}  
    
  126. };
  127. // 一個參數版本
  128. template <typename R, typename P1, class ObjClass>
  129. struct HTFunctorImpl<R, TYPELIST_1(P1), ObjClass> : public HTFunctorImplBase
  130. {
  131. typedef R       ResultType;  
    
  132. typedef typename HTTypeTraits<P1>::ParmType   Parm1;  
    
  133. virtual ResultType operator()(Parm1, ObjClass* pObj) = 0;  
    
  134. virtual HTFunctorImpl* Clone() const = 0;  
    
  135. virtual ~HTFunctorImpl() {}  
    
  136. };
  137. // 兩個參數版本
  138. template <typename R, typename P1, typename P2, class ObjClass>
  139. struct HTFunctorImpl<R, TYPELIST_2(P1, P2), ObjClass> : public HTFunctorImplBase
  140. {
  141. typedef R       ResultType;  
    
  142. typedef typename HTTypeTraits<P1>::ParmType   Parm1;  
    
  143. typedef typename HTTypeTraits<P2>::ParmType Parm2;  
    
  144. virtual ResultType operator()(Parm1, Parm2, ObjClass* pObj) = 0;  
    
  145. virtual HTFunctorImpl* Clone() const = 0;  
    
  146. virtual ~HTFunctorImpl() {}  
    
  147. };
  148. // 可調用體(即封裝的處理函數)為仿函數
  149. template <class ParentFunctor, typename Fun, class ObjClass>
  150. class HTFunctorHandler :
  151. public HTFunctorImpl  
    
  152.             <   
    
  153.             typename ParentFunctor::ResultType,  
    
  154.             typename ParentFunctor::ParmList,  
    
  155.             ObjClass  
    
  156.             >  
    
  157. {
  158. typedef typename ParentFunctor::Impl    Base;  
    
  159. public:
  160. typedef typename Base::ResultType ResultType;  
    
  161. typedef typename Base::Parm1 Parm1;  
    
  162. typedef typename Base::Parm1 Parm2;  
    
  163. HTFunctorHandler(const Fun& fun) : m_fun(fun) {}  
    
  164. HTFunctorHandler* Clone() const { return new HTFunctorHandler(*this); }  
    
  165. ResultType operator()(ObjClass* pObj)   
    
  166. { return m_fun(); }  
    
  167. ResultType operator()(Parm1 p1, ObjClass* pObj)  
    
  168. { return m_fun(p1); }  
    
  169. ResultType operator()(Parm1 p1, Parm2 p2, ObjClass* pObj)  
    
  170. { return m_fun(p1, p2); }  
    
  171. private:
  172. Fun m_fun;  
    
  173. };
  174. // 可調用體(即封裝的處理函數)為類成員函數,調用需傳遞對象指針
  175. template <class ParentFunctor, typename Fun, class ObjClass>
  176. class HTMemFunHandler :
  177. public HTFunctorImpl  
    
  178.             <   
    
  179.             typename ParentFunctor::ResultType,  
    
  180.             typename ParentFunctor::ParmList,  
    
  181.             ObjClass  
    
  182.             >  
    
  183. {
  184. typedef typename ParentFunctor::Impl    Base;  
    
  185. public:
  186. typedef typename Base::ResultType ResultType;  
    
  187. typedef typename Base::Parm1 Parm1;  
    
  188. typedef typename Base::Parm1 Parm2;  
    
  189.    HTMemFunHandler(const Fun& fun) : m_fun(fun) {}  
    
  190.    HTMemFunHandler* Clone() const { return new HTMemFunHandler(*this); }  
    
  191.    ResultType operator()(ObjClass* pObj)   
    
  192.    { return (pObj->*m_fun)(); }  
    
  193.    ResultType operator()(Parm1 p1, ObjClass* pObj)   
    
  194.    { return (pObj->*m_fun)(p1); }  
    
  195.    ResultType operator()(Parm1 p1, Parm2 p2, ObjClass* pObj)  
    
  196.    { return (pObj->*m_fun)(p1, p2); }  
    
  197. private:
  198.    Fun m_fun;  
    
  199. };
  200. // HTFunctor實現體
  201. template <typename R, class TList = YKNullType, class ObjClass = YKEmptyType>
  202. class HTFunctor
  203. {
  204.    typedef HTFunctorImpl<R, TList, ObjClass> Impl;  
    
  205. public:
  206.    typedef R       ResultType;  
    
  207.    typedef TList   ParmList;  
    
  208.    typedef typename Impl::Parm1 Parm1;  
    
  209.    typedef typename Impl::Parm2 Parm2;  
    
  210.    HTFunctor() : m_spImpl() {}  
    
  211.    HTFunctor(const HTFunctor& rhs) : m_spImpl(rhs.m_spImpl->Clone()) {}  
    
  212.    explicit HTFunctor(std::auto_ptr<Impl> spImpl) : m_spImpl(spImpl) {}  
    
  213.    HTFunctor& operator=(const HTFunctor& rhs)  
    
  214.    {  
    
  215.        HTFunctor copy(rhs);  
    
  216.        Impl* p = m_spImpl.release();  
    
  217.        m_spImpl.reset(copy.m_spImpl.release());  
    
  218.        copy.m_spImpl.reset(p);  
    
  219.        return *this;  
    
  220.    }  
    
  221.    template <typename Fun>  
    
  222.    HTFunctor(Fun fun)  
    
  223.        : m_spImpl(new   
    
  224.        HTSelect<  
    
  225.            HTIsSameType<ObjClass, HTEmptyType>::value,   
    
  226.            HTFunctorHandler<HTFunctor, Fun, ObjClass>,   
    
  227.            HTMemFunHandler<HTFunctor, Fun, ObjClass> >::Result(fun))  
    
  228.    {}  
    
  229.    ResultType operator()(ObjClass* pObj = HT_NULL) {  
    
  230.        return (*m_spImpl)(pObj);  
    
  231.    }  
    
  232.    ResultType operator()(Parm1 p1, ObjClass* pObj = HT_NULL) {  
    
  233.        return (*m_spImpl)(p1, pObj);  
    
  234.    }  
    
  235.    ResultType operator()(Parm1 p1, Parm2 p2, ObjClass* pObj = HT_NULL) {  
    
  236.        return (*m_spImpl)(p1, p2, pObj);  
    
  237.    }  
    
  238. private:
  239.    std::auto_ptr<Impl> m_spImpl;  
    
  240. };
    五.Krypton Factor C++
    #include
    #include
    #include
    #include
    using namespace std;
    int cnt;
    int n,L;
    int ans;
    int S[100001];
    int dfs(int cur)
    {
    if(cnt++n){
    for(int i=0;i<cur;i++){if(i%4
    0&&i&&i<cur&&i%64!=0)cout<<" “;if(i&&i%64==0&&i<cur)cout<<endl;printf(”%c",‘A’+S[i]);ans++;}
    printf("\n");
    return 0;
    }
    for(int i=0;i<L;i++)
    {
    S[cur]=i;
    int ok=1;
    for(int j=1;j*2<=cur+1;j++)
    {
    int equal_=1;
    for(int k=0;k<j;k++)
    if(S[cur-k]!=S[cur-k-j]){equal_=0;break;}
    if(equal_){ok=0;break;}
    }
    if(ok)if(!dfs(cur+1))return 0;
    }
    return 1;
    }
    int main()
    {
    while(cin>>n>>L&&n&&L){
    ans=0;
    cnt=0;
    dfs(0);
    cout<<ans<<endl;
    }
    return 0;
    }
    六.C++泛型編程與設計模式( 函數內部類 )

class Interface {
virtual void func() =0;
};

template<class T, class P>
Interface *makeAdapter(T tt, P pp) {
int a = 10;
static int count = 10;
class Local : public Interface {
public:
Local(const T &t, const P &p) : p§, t(t) {
// cout << a << endl;
cout << count << endl;
}
virtual void func() {
}
private:
P p;
T t;
static int k;
};
return new Local(tt,pp);
};
這個例子很簡單,開始定義了一個接口,然后定義了一個方法,該方法返回一個Interface的指針,在makeAdapter方法中,定義了Local類,然后繼承自接口Interface,因為這里的Local是個類,是個局部的,所以無法被外部代碼所使用,這就說明了,局部類的使用限制性還是挺大的:

  1. 要么就在方法內部使用。
  2. 如果要在外部使用,不論是直接返回,還是存在其它的包裹方式,都必須繼承已經存在的接口或者是基類。

局部類這種獨特的特性,非常類似于其他語言中的final類,如說PHP,JAVA,因為他是局部的,所以無法被外部繼承。如果不希望類被繼承的話,局部類是個不錯的方法。

參考鏈接:
https://blog.csdn.net/zhuyingqingfen/article/details/10124527
https://blog.csdn.net/Zero_979/article/details/81205702
https://blog.csdn.net/oKanJianLiao/article/details/80711167

總結

以上是生活随笔為你收集整理的c++ Factor泛型编程示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

中文字幕一区二区三区四区在线视频 | 久久er99热精品一区二区 | 久久久久久久久国产 | 99爱国产精品 | 日韩一二区在线 | 日韩电影在线观看一区二区 | 日韩精品一区二区三区在线视频 | 国产99视频在线观看 | 天天综合成人网 | 91高清完整版在线观看 | 色永久免费视频 | 欧美午夜寂寞影院 | 午夜精品一区二区国产 | 国产成人精品av在线 | 少妇搡bbbb搡bbb搡69 | 少妇性aaaaaaaaa视频 | 日韩精品一区二区免费视频 | 国产人成在线视频 | 久久论理 | 国产艹b视频 | 中文字幕一区二区三区在线观看 | 99久久精品国 | 亚洲黄色精品 | 美女黄视频免费 | 国产不卡视频 | 午夜少妇一区二区三区 | 日韩com| 精品国产美女在线 | 久草在线视频首页 | 激情自拍av | 国产中文字幕免费 | 日韩中文在线字幕 | 日韩精品一区二区三区丰满 | 91精品网站在线观看 | 国产精品久久久久永久免费 | 精品亚洲免a | 国产精品手机看片 | 欧美一级xxxx | av高清一区二区三区 | 中文字幕免费一区二区 | 免费看的黄色的网站 | 成人a在线观看 | 久久99久久99精品中文字幕 | 91污视频在线观看 | 超碰人人在 | 91免费视频国产 | 在线观看91久久久久久 | 日韩毛片在线播放 | 日日摸日日| 国产精品1024 | 亚洲九九影院 | 麻豆视频免费在线播放 | 黄网站app在线观看免费视频 | 久久精品国产99国产 | 免费观看黄色12片一级视频 | 亚洲国产69 | 97精产国品一二三产区在线 | 91超级碰| 免费av高清 | 免费色网站 | 国产成人高清在线 | 亚洲 欧美 国产 va在线影院 | 午夜性生活片 | 美女视频黄频 | 91精品国自产拍天天拍 | 色综合久久久久综合99 | 久久99久久99精品免视看婷婷 | 久久综合9988久久爱 | 高清国产午夜精品久久久久久 | 精品国产伦一区二区三区观看方式 | 在线观看视频色 | 一区二区成人国产精品 | 五月天中文字幕 | 99视频国产精品免费观看 | 久久久久国产精品免费 | 日日夜夜操av | 天天综合久久综合 | 亚欧洲精品视频在线观看 | 亚洲日韩中文字幕 | 日本久久久久 | 欧美精品成人在线 | 视频在线在亚洲 | 国产精选在线观看 | 亚洲视频免费在线观看 | 久久久男人的天堂 | 久久久久免费 | 在线观看日韩专区 | 麻豆久久久 | 91爱爱中文字幕 | 久久综合狠狠综合久久狠狠色综合 | 久久8| 国产裸体视频bbbbb | 日韩在线观看 | 日韩欧美综合在线视频 | 精品国产欧美一区二区 | 成人一区不卡 | 香蕉91视频 | 国产一二三四在线视频 | 中文字幕永久免费 | 国产一区二区在线免费视频 | 在线亚洲天堂网 | 中文字幕久久精品 | 午夜影院先 | 免费欧美高清视频 | 美女网站在线 | 日韩在线免费电影 | 人人艹视频 | 久久亚洲免费 | 91视频3p | av在观看| 黄色www免费 | 久久免费av电影 | 麻豆传媒视频观看 | 久久国产美女 | 久久一区二区三区日韩 | 人人澡人人模 | 国产一线二线三线在线观看 | 精品久久免费看 | 亚洲免费在线观看视频 | 亚洲精品欧洲精品 | 久久国产精品99久久久久 | 成人永久视频 | 中文字幕第一 | 国产人免费人成免费视频 | 久久社区视频 | 国产大尺度视频 | 欧美视频不卡 | 久久99国产精品二区护士 | 91av片| 精品久久久久久亚洲综合网 | 国产精品久久久区三区天天噜 | 国产精品福利视频 | 91精品国产成| 婷婷四房综合激情五月 | 成人久久久精品国产乱码一区二区 | 国产麻豆精品免费视频 | 青青草国产精品 | 免费日韩电影 | 综合精品在线 | 美女网色| 久久91久久久久麻豆精品 | 久久国色夜色精品国产 | 亚洲成av人电影 | 粉嫩av一区二区三区四区在线观看 | 色狠狠综合天天综合综合 | 久久国产精品色av免费看 | 最近2019中文免费高清视频观看www99 | 日韩高清在线不卡 | 97人人人人 | 国产日韩视频在线播放 | avv天堂| av电影中文字幕在线观看 | 97天天综合网 | 免费视频网 | 在线观看v片 | 久久国产精品偷 | 久久久久久久影院 | 九九在线免费视频 | 日韩激情久久 | 正在播放一区二区 | 在线观看视频日韩 | 天天草天天 | 五月婷社区| 国产欧美高清 | 色婷婷激情五月 | 视频一区亚洲 | 色综合网在线 | 亚洲欧洲在线视频 | 久草免费在线 | 久久人人精品 | 久久免费视频8 | 操操色 | 久久国产精品色婷婷 | 伊人成人激情 | 一区二区在线电影 | 日韩中文字幕在线 | 国产一区二区久久精品 | 亚洲国产精选 | 久操视频在线播放 | 一本色道久久综合亚洲二区三区 | 天堂av网在线 | 日韩欧美视频在线免费观看 | 就要干b| 在线看片一区 | 日本韩国精品一区二区在线观看 | 亚洲成人精品在线观看 | 婷婷在线观看视频 | 久久久久成人精品 | 久久999久久 | 黄色在线观看网站 | 久草视频在线看 | a在线v| 99热精品视| 在线a人片免费观看视频 | 欧美日韩在线免费观看视频 | 99热这里只有精品免费 | 一区二区三区在线视频111 | 欧美久草视频 | 国产 在线观看 | 成人在线视频免费 | 精品夜夜嗨av一区二区三区 | 色网址99| 成人久久久电影 | 午夜美女福利直播 | 国产在线播放不卡 | 午夜影院一区 | 久久久免费看片 | 日韩av影视在线 | 天天天天天天天天操 | 久久国产精品色av免费看 | 日本不卡一区二区 | 人人盈棋牌 | 99视频在线精品免费观看2 | 亚洲国产精品va在线看黑人动漫 | 国产成人av网站 | 99久久精品国产亚洲 | 在线va网站| 久久精品三 | 久久www免费视频 | 特级毛片在线免费观看 | 国产精品久久久久久久久久久久冷 | 91中文字幕在线 | 亚洲欧洲精品一区二区精品久久久 | 人人爽人人爱 | 日本三级中文字幕在线观看 | 欧美日韩国产在线精品 | 韩国精品福利一区二区三区 | 国产精品嫩草影院9 | 色偷偷97| 久久久久国产一区二区三区 | 久久综合中文字幕 | 色综合色综合久久综合频道88 | 国产精品视频内 | 欧美日韩在线观看不卡 | 亚洲三级影院 | 精品在线一区二区 | 友田真希x88av | 久久国产精品99久久久久久老狼 | 不卡电影一区二区三区 | 久久专区 | 精品爱爱 | av网站免费线看精品 | 久久一区二区免费视频 | 国产特级毛片aaaaaa毛片 | 国产成人精品久 | www.香蕉视频在线观看 | 中文字幕视频播放 | 伊人天天狠天天添日日拍 | 伊人五月天综合 | 91日韩免费 | 啪啪资源| av 一区 二区 久久 | 五月导航| 五月香视频在线观看 | 欧美视频在线观看免费网址 | 五月激情姐姐 | 国产在线观看污片 | 天堂网一区二区三区 | 片黄色毛片黄色毛片 | 色中射 | 色香com.| 国产欧美精品一区二区三区四区 | 69国产精品成人在线播放 | 99久精品视频 | 亚洲1区 在线 | 国产精品aⅴ | 国产视频999| 国产a视频免费观看 | 激情av五月婷婷 | 欧美亚洲xxx| 色在线视频| 在线成人看片 | 人人狠狠综合久久亚洲 | 西西大胆啪啪 | 在线观看福利网站 | 免费日韩在线 | 中国一级片在线观看 | 黄色毛片视频 | 久久久久久久综合色一本 | 91免费视频国产 | 国产91精品久久久久久 | 久久久久五月天 | 国产精品久久久久久久婷婷 | 色在线中文字幕 | 国产精品久久久久久久久毛片 | 亚洲va韩国va欧美va精四季 | 片黄色毛片黄色毛片 | 欧美色图30p | 在线小视频你懂的 | 在线黄网站 | 成人免费ⅴa | 在线亚洲成人 | 日韩在线视频二区 | 久久久久欠精品国产毛片国产毛生 | 狠狠婷婷 | 日韩精品一区二区免费视频 | 久久久久久毛片精品免费不卡 | 日日草夜夜操 | 亚洲综合日韩在线 | 久久精品中文字幕免费mv | 欧美色婷婷| 伊人丁香| 日韩中文字幕在线不卡 | 在线精品视频免费观看 | 久久久免费网站 | 一区二区三区日韩视频在线观看 | 日韩电影在线一区二区 | 久久久资源网 | 久久99精品波多结衣一区 | 久久97久久 | 日韩在线观看一区二区三区 | 国产伦精品一区二区三区… | 国产黄网在线 | 国产高清在线观看av | 国产无遮挡又黄又爽馒头漫画 | 91久久国产露脸精品国产闺蜜 | 国产黄色片在线免费观看 | 99久久婷婷国产综合亚洲 | 九九热只有精品 | 国产成人一区二区三区在线观看 | 日本中文字幕在线一区 | 久久久久久久久久电影 | 成人av.com| 在线观看的a站 | 黄色免费电影网站 | 亚洲视频 视频在线 | 99精品国产成人一区二区 | 人人爽夜夜爽 | 免费v片| 精品在线观看一区二区 | www.69xx| 美女福利视频一区二区 | 98超碰人人 | 久久成熟| 久久久精品国产免费观看同学 | 日韩欧美xxxx | 天天天射 | 精品久久国产一区 | 国产电影一区二区三区四区 | 很黄很色很污的网站 | 国产精品成人久久 | 免费亚洲婷婷 | 国产69久久| 欧美日韩国内在线 | 成人黄大片视频在线观看 | 五月婷婷综合在线观看 | 久久99精品久久久久久三级 | 99精品99| 欧美久久电影 | 人人爱人人做人人爽 | 国产精品免费成人 | 久久久久黄色 | 狠狠操天天干 | 在线观看亚洲成人 | 91九色蝌蚪视频 | 久久天天拍 | 国产亚洲高清视频 | 久久久午夜影院 | 日韩高清精品免费观看 | 亚洲乱码国产乱码精品天美传媒 | 色av色av色av | 国产视频69 | 免费成人av在线看 | 免费日韩一区二区 | 日本中文字幕电影在线免费观看 | 亚洲永久精品视频 | 国产精品人人做人人爽人人添 | 麻豆久久 | 久久久久久毛片精品免费不卡 | 超碰人人国产 | 欧美日韩国产在线精品 | 久久久九色精品国产一区二区三区 | 亚洲精区二区三区四区麻豆 | 国产精品亚州 | 亚洲综合激情网 | 99视频精品免费视频 | 日韩高清www| 国产小视频在线播放 | 黄色成人av | .国产精品成人自产拍在线观看6 | 国产成人一二三 | 麻豆成人在线观看 | 综合在线色 | 国产亚洲成人精品 | 成年人免费观看在线视频 | 狠狠色丁香 | 91在线91拍拍在线91 | 少妇性bbb搡bbb爽爽爽欧美 | 99精品欧美一区二区蜜桃免费 | 狠狠狠色丁香婷婷综合久久五月 | 亚洲精品在线观看网站 | 免费又黄又爽视频 | 中文字幕在线久一本久 | 亚洲天堂在线观看完整版 | 久久久久亚洲精品中文字幕 | 黄色精品一区 | 中文字幕在线观看完整 | 日韩色一区二区三区 | 国产精品毛片一区 | h视频在线看| 色综合天天 | 国产免费又爽又刺激在线观看 | 亚洲少妇天堂 | 国产小视频国产精品 | 色爱成人网 | 欧美久久久久 | 久久精品亚洲综合专区 | 五月天六月婷 | 亚洲精色 | 最近中文字幕完整视频高清1 | 操操碰 | 久草在线资源免费 | 欧美无极色 | 中文字幕日韩一区二区三区不卡 | a电影免费看 | 日韩欧美一区二区三区视频 | 欧美在线视频一区二区 | 国产手机av | 免费观看的av网站 | 中文字幕乱码日本亚洲一区二区 | 亚洲一级片在线观看 | 天天操天天爽天天干 | 99久久综合狠狠综合久久 | 91爱爱免费观看 | 看片一区二区三区 | 成人动态视频 | 日韩爱爱网站 | 在线免费观看av网站 | 国产一线二线三线性视频 | 国产精品成人aaaaa网站 | 日韩视频免费在线 | 二区三区在线 | 成人av动漫在线 | av大片免费 | 亚洲黄在线观看 | 97精品国自产拍在线观看 | 在线免费观看黄 | 亚洲精品免费在线视频 | 久草综合在线 | 色com| 国产福利在线免费 | 91高清视频在线 | 操久久免费视频 | 91精品久久久久久久久 | 国产成人一区二区三区 | 69国产成人综合久久精品欧美 | 三级性生活视频 | 狠狠躁夜夜a产精品视频 | 国内精品久久久久影院日本资源 | 九九久久精品视频 | 草久草久 | 国产精品va在线观看入 | 91九色在线观看 | 免费高清无人区完整版 | 亚洲精品高清在线 | www.超碰97.com | 国产精品1区2区3区在线观看 | 黄色大片免费网站 | 国产精品成人自产拍在线观看 | 三级黄在线 | 97在线视频免费观看 | 久久久91精品国产一区二区三区 | 97超碰资源总站 | 中文字幕乱在线伦视频中文字幕乱码在线 | 麻豆视频91 | 深夜免费福利 | 五月婷婷激情综合 | 亚洲综合激情网 | av中文天堂 | 麻花天美星空视频 | 精品久久久久久久久久久久 | 伊人网av| 一二三区在线 | 亚洲免费成人av电影 | 天天爱天天草 | 狠狠干婷婷色 | 奇人奇案qvod | 91大神精品视频 | 欧美国产一区二区 | 久草在线国产 | 久久在线视频在线 | 日日摸日日添夜夜爽97 | 欧美日韩精品影院 | www.色婷婷 | 国产精品视频免费看 | 亚洲精品国偷拍自产在线观看蜜桃 | 射九九 | 99久久9| 免费看国产黄色 | 国产精品成人自产拍在线观看 | 丁香花在线视频观看免费 | 99免费在线视频观看 | 97在线视频网站 | 在线观看亚洲专区 | 大型av综合网站 | 色七七亚洲影院 | 婷婷播播网 | 日本不卡视频 | 操处女逼 | 夜夜骑天天操 | 亚洲精品一区中文字幕乱码 | 99热精品免费观看 | 午夜精品久久久久 | 在线亚洲激情 | 国产精品久久久久久妇 | 免费视频xnxx com| 亚洲传媒在线 | 国产成人久久精品 | 久久黄网站 | 日韩激情中文字幕 | 91看国产| 黄色三级免费片 | 国产亚洲视频系列 | 国产精品美女久久久久久久 | 中文字幕亚洲在线观看 | 精精国产xxxx视频在线播放 | 亚洲影院国产 | 在线观看国产日韩欧美 | 一级性生活片 | 69久久久| 亚洲影音先锋 | 国产精品自在线拍国产 | 日韩久久精品一区 | 九七在线视频 | 日日夜夜精品网站 | 国产精品久久久久久久av电影 | v片在线播放 | 在线日韩一区 | 久久夜色精品国产欧美乱 | 国产视频18 | 99国产视频| 欧美日韩中文在线 | 久久久九色精品国产一区二区三区 | 91热爆视频 | 五月婷婷视频在线 | 麻豆视频国产在线观看 | 2022中文字幕在线观看 | 久久爱综合| 日韩免费一区二区三区 | 国产麻豆成人传媒免费观看 | 973理论片235影院9 | 91视频免费网址 | 久久久www免费电影网 | 欧美一区在线看 | 男女激情免费网站 | 国产精品com | 国产视频在线免费观看 | 久久综合九色综合欧美狠狠 | 丝袜av一区 | 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩在线观看第一页 | 最近更新中文字幕 | 久久精品国产亚洲 | 欧美日韩国产网站 | 欧美日韩高清免费 | av电影免费在线看 | 日本护士撒尿xxxx18 | www.五月天婷婷.com | a久久久久久 | 99热最新网址| 91在线视频免费 | 2022久久国产露脸精品国产 | 成人网页在线免费观看 | 天天干 天天摸 天天操 | 天天插狠狠干 | 国产免费一区二区三区最新6 | 亚洲国产精品久久久 | 午夜精品在线看 | 人人澡人人爽 | 亚洲免费av在线 | 久久久久久久久久久久久9999 | 美女av免费 | 综合久久2023 | 国产精品久久久久久久午夜片 | www.国产视频| 成 人 黄 色 视频播放1 | av看片网 | 中文字幕日韩在线播放 | 亚一亚二国产专区 | 亚洲狠狠| 久久久久久久久久国产精品 | 久久久久久久久久久高潮一区二区 | 国产又粗又猛又色又黄网站 | 国产福利一区二区在线 | 久久精品99国产精品 | 97色在线观看免费视频 | 天天艹日日干 | 8x成人免费视频 | 国产日韩欧美在线一区 | 国产精品一区久久久久 | 狠狠狠色丁香综合久久天下网 | 国产黄色特级片 | 日韩欧美综合精品 | 欧美不卡视频在线 | 精品91久久久久 | 在线国产一区二区三区 | 国产精品欧美精品 | 成人免费视频网站 | 国产美女精品久久久 | av不卡免费在线观看 | 91一区在线观看 | 97超级碰碰碰视频在线观看 | 成人免费xxx在线观看 | 91在线视频免费 | 久久精品播放 | 波多野结衣精品在线 | 国产午夜精品久久久久久久久久 | av千婊在线免费观看 | 国产精品五月天 | 91麻豆精品国产午夜天堂 | 亚洲色图av| 成人一级影视 | 4p变态网欧美系列 | 伊人永久 | 美女黄频在线观看 | 玖玖玖在线| 黄色三级免费观看 | 三日本三级少妇三级99 | 成人av电影在线观看 | 色六月婷婷 | 免费黄色激情视频 | 男女啪啪视屏 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 亚洲视频 视频在线 | 婷婷五月色综合 | 国产成人精品综合 | 99国产精品久久久久久久久久 | 久久久久久久毛片 | 国产成人福利片 | 久久久久久久综合色一本 | 特级片免费看 | 91在线91 | 在线影院中文字幕 | 美女网站色 | 亚洲专区在线视频 | 六月婷婷色 | 免费中文字幕在线观看 | 五月天中文字幕 | 麻豆超碰 | 伊人黄色网 | 亚州国产精品久久久 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 超碰在线色| 久久国产免 | 久久久久久久久网站 | 久久成人国产精品入口 | 97国产精品一区二区 | 亚洲精品美女视频 | 在线观看一二三区 | 中文久草 | 成 人 黄 色 视频 免费观看 | 久久精品免费电影 | 麻豆精品视频在线 | 久久1区 | 久久精品电影 | 中文字幕超清在线免费 | 欧美做受高潮1 | 97香蕉久久国产在线观看 | 波多野结衣在线观看视频 | 久久草视频| 精品一区二区在线播放 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 久草在线视频网 | 免费看黄的视频 | 亚洲成人家庭影院 | 国产精品一区二区久久久 | 国产视频综合在线 | 亚洲欧美国产日韩在线观看 | 99爱在线观看 | 午夜视频二区 | 欧美日韩国产精品久久 | 国产成人一二片 | 日韩欧美在线高清 | 国产97在线视频 | 91久久久久久久一区二区 | 中文字幕在线一区观看 | 日日夜夜天天射 | 国产 视频 久久 | 久草成人在线 | 欧美日韩精| 人人澡视频| 免费午夜在线视频 | 亚洲美女免费精品视频在线观看 | 精品国产欧美 | 国产原创91 | 亚洲播放一区 | 天天综合视频在线观看 | aaawww | 久久激情视频 | 91九色最新地址 | 国产又粗又猛又黄视频 | 国产尤物一区二区三区 | 国产久视频 | 天天躁日日 | 视频在线在亚洲 | 人人爽人人爽人人片av免 | 日韩va欧美va亚洲va久久 | 最新av网址在线观看 | 玖玖视频网 | 蜜臀久久99精品久久久无需会员 | 天天综合导航 | 国产小视频你懂的在线 | 精品一区二区6 | 狠狠精品 | 国产精品久久久久久久久久久久冷 | 久久 在线 | 69欧美视频 | 国产精品久久久亚洲 | 欧美国产大片 | 久久精品亚洲综合专区 | 久热免费在线 | 国产色影院| 日韩欧美91 | 久久av一区二区三区亚洲 | 91久久国产综合精品女同国语 | 国产亚洲成人精品 | av网站地址 | 黄色小说免费在线观看 | 激情视频久久 | 日韩资源在线观看 | 国产一级片一区二区三区 | 亚洲精品自拍视频在线观看 | 亚洲区色 | 美女国产精品 | 日韩最新在线 | 中文字幕精品一区二区三区电影 | 伊人天堂久久 | 精品福利片 | 成年人国产精品 | 婷婷国产一区二区三区 | 91久久精品一区 | 在线观看亚洲免费视频 | 456免费视频 | av线上免费看 | 国产一区免费观看 | 中文在线www | 午夜视频在线网站 | 亚洲精品福利在线 | 精品在线视频观看 | 4438全国亚洲精品在线观看视频 | 婷婷六月在线 | 亚洲久草在线视频 | 日韩高清在线一区 | 日韩高清毛片 | 能在线看的av | 视频一区在线免费观看 | 国产精品ⅴa有声小说 | 91精品国产99久久久久久红楼 | 精品国产乱码一区二区三区在线 | 亚洲综合视频在线观看 | 黄色片免费电影 | 亚州av网站 | 色综合天天干 | 最新日韩电影 | 日韩高清观看 | 色婷婷骚婷婷 | bbbb操bbbb | 国产高清精 | 欧美不卡视频在线 | 99re久久资源最新地址 | 亚洲欧美视频在线播放 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 一二区av | 99情趣网视频 | 亚洲精品久久久久久久不卡四虎 | av中文字幕网站 | 久久久久久福利 | 国产精品久久久久久99 | 午夜影院日本 | 毛片网站在线观看 | 成人黄色中文字幕 | www.夜夜操.com| 手机成人av | 国产女人18毛片水真多18精品 | 欧美精品久久久久性色 | 久久精品麻豆 | 久久首页 | 波多野结衣亚洲一区二区 | 国产视频一区二区在线观看 | 日韩理论在线观看 | 久青草视频在线观看 | 国产日韩精品视频 | 成人午夜剧场在线观看 | 久精品一区 | 亚洲国产高清在线 | 中文在线免费一区三区 | 激情网五月天 | 欧洲在线免费视频 | 国产99久久久国产 | 日本久久久久久科技有限公司 | 精品色999 | 国产亚洲精品久久 | 国产高清不卡 | 亚洲国产高清视频 | 69视频在线 | 国产成人精品区 | 中文字幕一区在线观看视频 | 夜夜爱av | 中文字幕在线播放一区二区 | 日韩精品一区二区三区高清免费 | 日韩免费福利 | 免费视频你懂得 | 99精品视频精品精品视频 | 国产福利91精品一区二区三区 | 午夜久久久影院 | 午夜视频免费播放 | 亚洲婷婷综合色高清在线 | av在线播放国产 | 国产精品国产三级国产不产一地 | 国色天香在线 | 91激情视频在线 | 日韩精品久久久久 | 51久久夜色精品国产麻豆 | 粉嫩aⅴ一区二区三区 | 国产一区精品在线观看 | 国产又粗又猛又黄又爽视频 | 五月网婷婷| 超碰人人av | 中文字幕资源站 | 久久国产午夜精品理论片最新版本 | 99久久综合精品五月天 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 一区二区电影在线观看 | 日韩免费视频观看 | 激情丁香月| 国产午夜三级 | av黄色av | 手机在线中文字幕 | 9在线观看免费高清完整版 玖玖爱免费视频 | 91九色蝌蚪视频在线 | 高清不卡一区二区在线 | 91av原创 | 天天玩天天干天天操 | 免费观看视频黄 | 久久精品aaa | 国产日韩高清在线 | 久久久不卡影院 | 热久久99这里有精品 | 国产精品12| 亚洲国产成人精品在线观看 | 日韩电影在线观看一区 | 99久久毛片 | 日本精品久久久久中文字幕 | 国产高清 不卡 | 岛国av在线免费 | 免费黄色在线网站 | 久久久www免费电影网 | 国产欧美精品在线观看 | 主播av在线 | 国产一区视频免费在线观看 | 成人黄色国产 | 国产日产精品久久久久快鸭 | 97超碰在线人人 | 9在线观看免费高清完整版 玖玖爱免费视频 | 久久的色 | 深爱婷婷激情 | 在线免费试看 | 午夜精品久久久久久久久久久久久久 | 日韩欧美视频免费看 | 日本韩国欧美在线观看 | 国产亚洲婷婷免费 | 91人人视频在线观看 | 亚洲国产成人精品久久 | 玖玖在线精品 | 九九九视频精品 | 日日弄天天弄美女bbbb | 免费在线观看一区二区三区 | 一区二区三区观看 | 操碰av| 亚洲一级片在线观看 | 色午夜 | 国产精品美女免费看 | 91精品国产网站 | 久久久久高清毛片一级 | 超碰公开在线观看 | 国产一二区视频 | 欧美国产精品久久久久久免费 | 91自拍成人 | 久久夜色网 | 日韩精品一区电影 | 天堂中文在线视频 | 黄色软件在线观看视频 | 美女网站视频久久 | a级国产乱理论片在线观看 特级毛片在线观看 | 日韩av电影国产 | 精品久久久影院 | 日韩一区二区久久 | 久久久久久久久毛片 | 久久午夜网| 亚洲综合最新在线 | 国产一区二区久久 | 一区二区三区在线免费播放 | 欧美一区,二区 | 在线观看蜜桃视频 | 在线影视 一区 二区 三区 | www.99热精品| 美女视频久久 | 久久在线电影 | 欧洲精品久久久久毛片完整版 | 69国产在线观看 | 激情黄色av | 国产精品女同一区二区三区久久夜 | 日韩中文字幕免费在线播放 | 久久亚洲成人网 | 丝袜+亚洲+另类+欧美+变态 | 视频国产一区二区三区 | 激情五月***国产精品 | av在线播放快速免费阴 | 久久国产精品久久精品国产演员表 | 夜夜摸夜夜爽 | 久久一区二区三区日韩 | 亚洲区另类春色综合小说校园片 | 免费网站黄色 | 欧洲高潮三级做爰 | 国产99精品在线观看 | 最新精品视频在线 | 狠狠色丁香婷婷综合橹88 | 狠狠搞,com | 99热9| 亚洲精品国产精品久久99热 | 精品国产一区二区三区在线观看 | 丁香色婷婷 | 9在线观看免费高清完整版 玖玖爱免费视频 | 中文字幕一区二区三区视频 | 91成人在线观看高潮 | 少妇资源站 | 国产日韩欧美在线观看 | 99久久精品国 | 亚洲精品久久激情国产片 | 亚洲影视资源 | 欧美a级片网站 | 中文字幕在线免费播放 | 欧美日韩免费一区二区三区 | 91视频亚洲 | 在线视频欧美精品 | 国产91九色蝌蚪 | 少妇搡bbbb搡bbb搡69 | 日本在线观看黄色 | 黄色高清视频在线观看 | 婷婷激情综合五月天 | 免费在线成人 | 麻豆影视在线免费观看 | 91精品高清| 网站你懂的| 乱子伦av| 久久新 | 国产原厂视频在线观看 | 成人av资源网站 | 草久久久久 | 国产香蕉视频在线播放 | www好男人| 久久久免费精品 | 久久撸在线视频 | 亚洲精品在线观看av | 久久久午夜剧场 | 四虎伊人| 国产区欧美 | 欧美在线观看小视频 | av在线电影播放 | 久久成年人网站 | 国产精品高清在线 | 西西444www大胆高清图片 | 成人a在线观看高清电影 | 99久久精品免费看国产 | 在线91av| 99r在线视频 | 日韩免费三级 | 久久a v电影| 91成人短视频在线观看 | 人人看人人 | 免费av网站在线看 | 免费网站在线观看成人 | 日韩激情视频在线观看 | 综合婷婷丁香 | 9草在线 | 日韩欧美在线中文字幕 | 久久男人中文字幕资源站 | 国产亚洲视频中文字幕视频 | 久草在线费播放视频 | 97国产大学生情侣白嫩酒店 | 日韩在线观看中文字幕 | 91九色蝌蚪国产 | 国产中文字幕大全 | www.人人干| 黄色成人毛片 | 亚洲一区二区三区在线看 | 成人国产一区二区 | 黄视频色网站 | 国产精品永久久久久久久www | 欧美精品一区二区三区四区在线 | 久久综合视频网 | 中文字幕在线一区观看 | 911av视频| 全黄网站 | 91麻豆免费看 | 日韩一区视频在线 | 久久99精品久久久久久秒播蜜臀 | 国产色网|