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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模板(Template)

發布時間:2023/11/29 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模板(Template) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近閱讀google chromium base container stack_container代碼,深刻感覺到基礎知識不扎實。

// Casts the buffer in its right type.
T* stack_buffer() { return stack_buffer_.template data_as<T>(); }
const T* stack_buffer() const {
? return stack_buffer_.template data_as<T>();
}

關于.template的用法,維基百科關于Template描述中template關鍵字有詳細說明

模板(Template)指C++程序設計語言中的函數模板與類模板[1],是一種參數化類型機制,大體對應于java和C#中的泛型,但也有一些功能上的顯著差異(C++模板支持后兩者沒有明確對應的模板模板參數和模板非類型參數,但不支持Java的通配符以及C#的泛型類型約束)。模板是C++的泛型編程中不可缺少的一部分。

模板是C++程序員絕佳的武器,特別是結合了多重繼承與運算符重載之后。C++的標準函數庫提供的許多有用的函數大多結合了模板的概念,如STL以及iostream。

目錄

  • 1 語法
    • 1.1 模板的聲明與定義
      • 1.1.1 模板的非類型形參
      • 1.1.2 模板的模板參數
      • 1.1.3 模板參數的默認值
      • 1.1.4 變量模板
    • 1.2 模板的使用
  • 2 示例
    • 2.1 函數模板
    • 2.2 類模板
    • 2.3 模板的嵌套:成員模板
  • 3 依賴名字與typename關鍵字
  • 4 template關鍵字
  • 5 別名模板
  • 6 模板實例化
  • 7 參考文獻

語法[目錄]

模板的聲明與定義[目錄]

模板定義以關鍵字template開始,后接模板形參表(template parameter list),模板形參表是用尖括號括住的一個或者多個模板形參的列表,形參之間以逗號分隔。模板形參可以是表示類型的類型形參(type parameter),也可以是表示常量表達式的非類型形參(non-type parameter)。非類型形參跟在類型說明符之后聲明。類型形參跟在關鍵字class或typename之后聲明。模板形參可以給出默認值(default arguments for template parameters)。

模板的非類型形參[目錄]

模板的非類型形參(template non-type parameter)允許為下述形式:

  • 整型或枚舉型
  • 到對象的指針或函數指針
  • 到對象的引用或函數引用
  • 成員指針

模板的非類型參數被聲明為數組或函數的,將被轉換為指針或函數指針。例如:

template<int a[4]> struct A { };template<int f(int)> struct B { };int i;int g(int) { return 0;}A<&i> x;B<&g> y;

模板的非類型形參允許用const或volatile限定(而模板的類型形參是不允許cv限定的)。模板的非類型形參是不允許聲明為浮點型、class類型、void型。

模板的模板參數[目錄]

主條目:模板的模板參數

類模板的模板參數允許是另外一個類模板,這稱為模板的模板參數(template template parameter),也譯作“模板參數模板”。函數模板不允許有模板的模板參數。例如:

template<template <class T> class X> class A { }; //類模板A的第二個參數是另外一個類模板X template<class T> class B { }; A<B> a; //模板A的實際使用。其中的B是模板的模板實參(template template argument)

模板參數的默認值[目錄]

模板形參可以給出默認值(default arguments for template parameters)。如果一個模板參數給出了默認值,那么模板形參列表中在其后聲明的模板參數都應該給出默認值。例如:

template<class T = char, class U, class V = int> class X { }; //編譯出錯,或者給出U的默認值,或者不給出T的默認值

一個模板的各次聲明給出的模板參數的默認值可以累積其效果。例如:

template<class T, class U = int> class A; template<class T = float, class U> class A; template<class T, class U> class A {public:T x;U y; }; A<> a; //a.x is float, and the type of a.y is int

但是如果交換本示例第一行與第二行的次序,將編譯報錯。因為如果第一個模板參數T有了默認值,此時編譯器必須已經知道其后的第二個模板參數U的默認值。

在同一個作用于(scope)中,不能對同一個模板的同一個參數多次聲明其默認值。例如:

template<class T = char> class X; template<class T = char> class X { };//編譯報錯。如果在本行中不給出模板參數T的默認值將編譯通過

模板參數的作用域為從其聲明之處至該模板的定義結束之處。因此可以使用一個模板參數作為其后聲明的其他模板參數的一部分或默認值。例如:

template<class V, V obj> class C; template<class T, class U = T> class D { };

變量模板[目錄]

變量模板(variable template)是C++14引入的新的一個種類的模板。可用于在命名空間作用域聲明一個變量。例如:

template<class T> constexpr T pi = T(3.1415926535897932385); // variable template template<class T> T circular_area(T r) // function template {return pi<T> * r * r; // pi<T> is a variable template instantiation }

可以在類作用域聲明一個靜態數據成員:

struct matrix_constants {template<class T>using pauli = hermitian_matrix<T, 2>; // alias templatetemplate<class T> static constexpr pauli<T> sigma1 = { { 0, 1 }, { 1, 0 } }; // static data member templatetemplate<class T> static constexpr pauli<T> sigma2 = { { 0, -1i }, { 1i, 0 } };template<class T> static constexpr pauli<T> sigma3 = { { 1, 0 }, { 0, -1 } };

};

類的靜態數據成員模板,也可以用類模板的非模板數據成員來實現:

struct limits {template<typename T>static const T min; // declaration of a static data member template }; template<typename T> const T limits::min = { }; // definition of a static data member template template<class T> class X {static T s; // declaration of a non-template static data member of a class template }; template<class T> T X<T>::s = 0; // definition of a non-template data member of a class template

變量模板不能用作模板的模板參數(template template arguments)。

模板的使用[目錄]

使用模板時,可以在模板名字后面顯式給出用尖括號括住的模板實參列表(template argument list)。對模板函數或類的模板成員函數,也可不顯式給出模板實參,而是由編譯器根據函數調用的上下文推導出模板實參,這稱為模板參數推導。

如果模板參數使用其默認值,則在模板實參列表中可以忽略它。如果所有的模板參數都使用了默認值,模板實參列表為空,但仍然必須寫出成對的尖括號。例如:

template<class T = int> class X { }; X<> a; //編譯通過 X b; //編譯報錯

對于作為類型的模板實參,不允許是局部類型(local type)、無鏈接性的類型(type with no linkage)、無名類型(unnamed type)或包括了這三種情形的復合類型。[2]但C++11以及允許本地類型作為模板實參。

示例[目錄]

函數模板[目錄]

以下以取最大值的函數模板maximum為例。此函數在編譯時會自動產生對應參數類型的代碼,而不用顯式聲明。

#include <iostream>template <typename T> inline const T& maximum(const T& x,const T& y) {if(y > x){return y;}else{return x;} }int main(void) {using namespace std;int a=3,b=7;float x=3.0,y=7.0;//Calling template functionstd::cout << maximum<int>(a,b) << std::endl; //輸出 7std::cout << maximum(a, b) << std::endl; //自動補充類型聲明std::cout << maximum<double>(x,y) << std::endl; //輸出 7return 0; }

類模板[目錄]

以下以將組件指針的操作,封裝成類別模板ComPtr為例。 #pragma oncetemplate <typename Ty> class ComPtr { protected:Ty* m_ptr;public:ComPtr(){m_ptr = NULL;}ComPtr(const ComPtr& rhs){m_ptr = NULL;SetComPtr(rhs.m_ptr);}ComPtr(Ty* p){m_ptr = NULL;SetComPtr(p);}~ComPtr(){Release();}const ComPtr& operator=(const ComPtr& rhs){SetComPtr(rhs.m_ptr);return *this;}Ty* operator=(Ty* p){SetComPtr(p);return p;}operator Ty* (){return m_ptr;}Ty* operator->(){return m_ptr;}operator Ty** (){Release();return &m_ptr;}operator void** (){Release();return (void**)&m_ptr;}bool IsEmpty(){return (m_ptr == NULL);}void SetComPtr(Ty* p){Release();m_ptr = p;if (m_ptr){m_ptr->AddRef();}}void Release(){if (m_ptr){m_ptr->Release();m_ptr = NULL;}} };

模板的嵌套:成員模板[目錄]

對于類中的模板成員函數、嵌套的成員類模板,可以在封閉類的內部或外部定義它們。當模板成員函數、嵌套類模板在其封閉類的外部定義時,必須以封閉類模板的模板參數(如果它們也是模板類)和成員模板的模板參數開頭。[1]如下例:

template <typename C> class myc{public:template <typename S> C foo(S s); };//下行需要給出外部類與內部嵌套類的模板形參列表: template<typename C> template <typename S> C myc<C>::foo(S s){ C var; return var; }int main() { float f; myc<int> v1; v1.foo(f); }

C++標準規定:如果外圍的類模板沒有特例化,里面的成員模板就不能特例化[3]。例如:

template <class T1> class A {template<class T2> class B {template<class T3> void mf1(T3);void mf2();}; };template <> template <class X>class A<int>::B {template <class T> void mf1(T);};template <> template <> template<class T>void A<int>::B<double>::mf1(T t) { }template <class Y> template <>void A<Y>::B<double>::mf2() { } // ill-formed; B<double> is specialized but its enclosing class template A is not

依賴名字與typename關鍵字[目錄]

一個模板中的依賴于一個模板參數(template parameter)的名字被稱為依賴名字 (dependent name)。當一個依賴名字嵌套在一個類的內部時,稱為嵌套依賴名字(nested dependent name)。一個不依賴于任何模板參數的名字,稱為非依賴名字(non-dependent name)。[4]

編譯器在處理模板定義時,可能并不確定依賴名字表示一個類型,還是嵌套類的成員,還是類的靜態成員。C++標準規定:如果解析器在一個模板中遇到一個嵌套依賴名字,它假定那個名字不是一個類型,除非顯式用typename關鍵字前置修飾該名字。[5]

typename關鍵字有兩個用途:

  • 常見的在模板定義中的模板形參列表,表示一個模板參數是類型參數。等同于使用class。
  • 使用模板類內定義的嵌套依賴類型名字時,顯式指明這個名字是一個類型名。否則,這個名字會被理解為模板類的靜態成員名。C++11起,這一用途也可以出現在模板以外,盡管此時typename關鍵字不是必要的。
  • 在下述情形,對嵌套依賴類型名字不需要前置修飾typename關鍵字:[6]

    • 派生類聲明的基類列表中的基類標識符;
    • 成員初始化列表中的基類標識符;
    • 用class、struct、enum等關鍵字開始的類型標識符

    因為它們的上下文已經指出這些標識符就是作為類型的名字。例如:

    template <class T> class A: public T::Nested { //基類列表中的T::Nestedpublic:A(int x) : T::Nested(x) {}; //成員初始化列表中的T::Nestedstruct T::type1 m; //已經有了struct關鍵字的T::type1 };class B{public:class Nested{public:Nested(int x){};};typedef struct {int x;} type1; };int main() {A<B> a(101);return 0; }

    template關鍵字[目錄]

    template關鍵字有兩個用途:

  • 常見的在模板定義的開始。
  • 模板類內部定義了模板成員函數或者嵌套的成員模板類。在模板中,當引用這樣的模板成員函數或嵌套的成員模板類時,可以在::(作用域解析)運算符、.(以對象方式訪問成員)運算符、->(以指針方式訪問成員)運算符之后使用template關鍵字,隨后才是模板成員函數名字或嵌套的成員模板類名字,這使得隨后的左尖括號<被解釋為模板參數列表的開始,而不是小于號運算符。C++11起,這一用途也可以出現在模板以外,盡管此時template關鍵字不是必要的。例如:
  • class A { public:template <class U> class B{public: typedef int INT;};template <class V> void foo(){} };template <typename T> int f() {i=101;T a, *p=&a;return 0; }int main() {f<A>();A::B<double>::INT i; // 自C++11起,也可寫作typename A::template B<double>::INT i; }

    別名模板[目錄]

    別名模板(aliase template)是C++11引入的技術。在C++03標準中,可以用typedef給全特化模板定義新的類型名。但是不允許用typedef施加于偏特化模板上。例如:

    template <typename First, typename Second, int Third> class SomeType;template <typename Second> typedef SomeType<OtherType, Second, 5> TypedefName; // Illegal in C++03

    C++11增加了給偏特化模板增加別名的功能,例如:

    template <typename First, typename Second, int Third> class SomeType;template <typename Second> using TypedefName = SomeType<OtherType, Second, 5>;

    using在C++11中也可用于其他的類型別名的聲明:

    typedef void (*FunctionType)(double); // Old style using FunctionType1 = void (*)(double); // New introduced syntax

    模板實例化[目錄]

    模板實例化(template instantiation)是指在編譯或鏈接時生成函數模板或類模板的具體實例源代碼。ISO C++定義了兩種模板實例化方法:隱式實例化(當使用實例化的模板時自動地在當前代碼單元之前插入模板的實例化代碼)、顯式實例化(直接聲明模板實例化)。在C++語言的不同實現中,模板編譯模式(模板初始化的方法)大致可分為三種:

    • Borland模型(包含模板編譯模式):編譯器生成每個編譯單元中遇到的所有的模板實例,并存放在相應的目標文件中;鏈接器合并相同的模板實例,生成可執行文件。為了在每次模板實例化時模板的定義都是可見的,模板的聲明與定義放在同一個.h文件中。這種方法的優點是鏈接器只需要處理目標文件;這種方法的缺點是由于模板實例被重復編譯,編譯時間被加長了,而且不能使用系統的鏈接器,需重新設計鏈接器。
    • Cfront/查詢模型(分離(Separation)模板編譯模式):AT&T公司的C++編譯器Cfront為解決模板實例化問題,增加了一個模板倉庫,用以存放模板實例的代碼并可被自動維護。當生成一個目標文件時,編譯器把遇到的模板定義與當前可生成的模板實例存放到模板倉庫中。鏈接時,鏈接器的包裝程序(wrapper)首先調用編譯器生成所有需要的且不在模板倉庫中的模板實例。這種方法的優點是編譯速度得到了優化,而且可以直接使用系統的鏈接器;這種方法的缺點是復雜度大大增加,更容易出錯。使用這種模型的源程序通常把模板聲明與非內聯的模板成員分別放在.h文件與模板定義文件中,后者單獨編譯。
    • 混合(迭代)模型:g++目前是基于Borland模型完成模板實例化。g++未來將實現混合模型的模板實例化,即編譯器把編譯單元中的模板定義與遇到的當前可實現的模板實例存放在相應的目標文件中;鏈接器的包裝程序(wrapper)調用編譯器生成所需的目前還沒有實例化的模板實例;鏈接器合并所有相同的模板實例。使用這種模型的源程序通常把模板聲明與非內聯的模板成員分別放在.h文件與模板定義文件中,后者單獨編譯。

    ISO C++標準規定,如果隱式實例化模板,則模板的成員函數一直到引用時才被實例化;如果顯式實例化模板,則模板所有成員立即都被實例化,所以模板的聲明與定義在此處都應該是可見的,而且在其它程序文本文件使用了這個模板實例時用編譯器選項抑制模板隱式實例化,或者模板的定義部分是不可見的,或者使用template<> type FUN_NAME(type list)的語句聲明模板的特化但不實例化。

    g++的模板實例化,目前分為三種方式:[7]

    • 不指定任何特殊的編譯器參數:按Borland模型寫的源代碼能正常完成模板實例化,但每個編譯單元將包含所有它用到的模板實例,導致在大的程序中無法接受的代碼冗余。需要用GNU的鏈接器刪除各個目標文件中冗余的模板實例,不能使用操作系統提供的鏈接器。
    • 使用-fno-implicit-templates編譯選項:在生成目標文件時完全禁止隱式的模板實例化,所有模板實例都顯式的寫出來,可以存放在一個單獨的源文件中;也可以存放在各個模板定義文件中。如果一個很大的源文件中使用了各個模板實例,這個源文件不用-fno-implicit-templates選項編譯,就可以自動隱式的生成所需要的模板實例。在生成庫文件時這個編譯選項特別有用。
    • 使用-frepo編譯選項:在生成每個目標文件時,把需要用到的當前可生成的模板實例存放在相應的.rpo文件中。鏈接器包裝程序(wrapper)—collect2將刪除.rpo文件中冗余的模板實例并且修改相應的.rpo文件,使得編譯器可以利用.rpo文件知道在那里正確放置、引用模板實例,并重新編譯生成受影響的目標文件。由操作系統的通用的鏈接器生成可執行文件。這對Borland模型是很好的模板實例化方法。對于使用Cfront模型的軟件,需要修改源代碼,在模板頭文件的末尾加上#include <tmethods.cc>。不過MinGW中不包含鏈接器包裝程序collect2,故不使用此方法。對于庫(library),建議使用顯式實例化方法。
    • 另外,g++擴展了ISO C++標準,用extern關鍵字指出模板實例在其它編譯單元中顯式聲明(這已經被C++11標準接受);用inline關鍵字實例化編譯器支持的數據(如類的虛表)但不實例化模板成員;用static關鍵字實例化模板的靜態數據成員但不實例化其它非靜態的模板成員。
    • g++不支持模板實例化的export關鍵字(此關鍵字的這個用法已在C++11標準里被取消)。

    VC++7.0中必須類模板實例化只有Borland模型;函數模板一般隱式實例化,自5.0版以后也可顯式實例化。

    參考文獻[目錄]

  • ^ 1.0 1.1 MSDN:嵌套的類模板
  • ^ §14.3.1/2 from the 2003 C++ Standard: A local type, a type with no linkage, an unnamed type or a type compounded from any of these types shall not be used as a template-argument for a template type-parameter.
  • ^ C++11標準:§14.7.3,?16規定:the declaration shall not explicitly specialize a class member template if its enclosing class templates are not explicitly specialized as well
  • ^ C++11標準:§14.6,?1
  • ^ C++11標準§14.6,?2規定:A name used in a template declaration or definition and that is dependent on a template-parameter is assumed not to name a type unless the applicable name lookup finds a type name or the name is qualified by the keyword typename.
  • ^ C++11標準§14.6,?5規定
  • ^ Template Instantiation. [2014-09-27].?
  • 轉載于:https://www.cnblogs.com/liaokang/p/5663227.html

    總結

    以上是生活随笔為你收集整理的模板(Template)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    久久久受www免费人成 | 久久综合天天 | 亚洲精品日韩一区二区电影 | 激情五月伊人 | 成人av在线看 | 91精品国产自产在线观看永久 | 色综合久久久久综合体 | 久久国内精品99久久6app | 国产精品网红直播 | 欧美激情综合网 | 日韩视频免费观看高清 | 最新日韩视频在线观看 | 色美女在线| 国产精品女同一区二区三区久久夜 | 免费99视频 | 成人app在线免费观看 | 日本aaaa级毛片在线看 | 免费观看完整版无人区 | 午夜在线免费视频 | 美女精品网站 | 精品国产乱码久久久久久1区二区 | 国产精品入口麻豆 | 欧美aa在线 | 国产v视频 | 免费视频三区 | 午夜久操 | 在线观看免费av片 | 男女免费视频观看 | 香蕉久久久久久av成人 | 日本在线视频一区二区三区 | 亚洲视频,欧洲视频 | www久| 人人干狠狠操 | 伊人激情综合 | 日韩高清免费在线观看 | 99热在线精品观看 | 综合激情婷婷 | 免费看一级黄色大全 | 尤物九九久久国产精品的分类 | 最新的av网站 | 中文字幕资源网 | 久久久久久片 | 欧美日韩首页 | 亚洲精品中文在线资源 | 国产综合在线观看视频 | 精品亚洲男同gayvideo网站 | 国产麻豆精品久久一二三 | 香蕉视频在线网站 | 国模精品在线 | 久久黄色小说视频 | 91久久国产露脸精品国产闺蜜 | 欧美一区二区三区在线看 | 免费精品在线视频 | 国产精品久久久久久久久久免费 | 日韩精品免费在线 | av福利电影 | 激情欧美网 | 婷香五月 | 国产高清视频在线免费观看 | 在线午夜电影神马影院 | 91成人精品一区在线播放69 | 久草在线观看 | 又黄又爽又色无遮挡免费 | 久一在线 | 成人天堂网 | 五月丁婷婷| 日韩精品中文字幕在线观看 | 日本精品视频一区 | 91av片 | 久久艹在线观看 | 午夜久久影视 | 久久久免费高清视频 | 亚洲成av人片在线观看无 | 一区在线观看 | 免费在线观看成人 | 午夜精品久久久久久久久久 | 国产中文字幕大全 | 久久草av | 久草在线在线视频 | 色国产精品一区在线观看 | 国产分类视频 | 91视频 - x99av| 久久精彩免费视频 | 91精品久久久久久久久 | 国产二区电影 | 992tv成人免费看片 | 免费的黄色的网站 | 国产欧美精品一区二区三区四区 | 日本最新高清不卡中文字幕 | 久久国产成人午夜av影院潦草 | 国产91av视频在线观看 | 欧美一级性生活 | 国产日韩精品一区二区三区在线 | 免费在线看v | 91精品国产一区二区三区 | 在线小视频国产 | 天操夜夜操 | 在线观看911视频 | 国产一性一爱一乱一交 | 97综合在线 | 在线中文视频 | 国产福利一区在线观看 | 日韩电影中文字幕 | 色婷婷欧美 | 久久伊99综合婷婷久久伊 | 久久综合久久综合久久综合 | 日韩精品久久久久久中文字幕8 | 国产精品自产拍在线观看中文 | av视屏在线播放 | 狠狠操狠狠干天天操 | 天天综合视频在线观看 | 亚洲国产免费网站 | 久草综合在线 | 免费美女av | 免费黄色网止 | 久久国产精品色婷婷 | 激情综合网婷婷 | 一区二区亚洲精品 | 精品人人爽 | 一级片视频免费观看 | 国产亚洲91 | 最近中文字幕在线中文高清版 | 亚洲最新av网址 | 黄色小说网站在线 | 99精品欧美一区二区 | 天天爱天天色 | 在线观看中文字幕第一页 | 色综合在| 精品国产美女 | 欧美日韩精 | zzijzzij亚洲日本少妇熟睡 | 日韩| 久久不色| 一级久久久 | 在线免费看黄网站 | 日韩精品在线播放 | 91九色视频国产 | 久久久黄视频 | 91激情视频在线观看 | 成片视频免费观看 | www免费黄色 | 日韩欧美在线影院 | 999国产 | 一区二区三区四区精品 | 日本韩国精品在线 | 国产h片在线观看 | 一区二区三区高清在线观看 | 国产又粗又猛又爽 | 一区二区三区 亚洲 | 久草在线视频网站 | 成人毛片在线视频 | 久插视频 | 久草视频在线看 | 91在线你懂的| 天天夜夜操 | 国产99久久久精品视频 | 国产剧情一区在线 | 亚洲成人av片在线观看 | 五月开心婷婷网 | 丝袜制服天堂 | www.国产高清| 91久久国产精品 | 91免费观看网站 | 国产精品国产亚洲精品看不卡15 | 丁香婷婷久久久综合精品国产 | 黄色电影小说 | 久久精品免费 | 日日夜夜天天综合 | 2021国产精品 | 五月天最新网址 | 欧美成年黄网站色视频 | 精品国产一区二区三区久久影院 | 狠狠gao| 在线免费视频一区 | 亚洲综合丁香 | 97高清免费视频 | 成年人黄色免费网站 | 中文字幕之中文字幕 | av网站在线免费观看 | 99视频+国产日韩欧美 | 国产精品原创av片国产免费 | 99精品成人 | 国产日产精品久久久久快鸭 | 国产精品美女久久久久久久久久久 | 国产很黄很色的视频 | 免费观看9x视频网站在线观看 | 黄色一级免费 | 久久9视频 | 这里只有精品视频在线 | 日韩理论片中文字幕 | 国产不卡精品视频 | 色狠狠综合天天综合综合 | 玖玖玖影院| 日韩欧美在线国产 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 久草网视频在线观看 | 亚洲视频免费在线看 | 少妇av网| 日本公乱妇视频 | 精品国产乱码久久久久久三级人 | 人人草天天草 | 狠狠狠色丁香婷婷综合久久五月 | 国产一级h | 成人电影毛片 | 国产精品原创在线 | 久久九九国产视频 | 狠狠色丁香婷婷综合最新地址 | 91av在线免费看 | 国产精品毛片一区视频播不卡 | 国产精品1000 | 中文字幕av日韩 | 天天干夜夜 | 麻豆国产精品一区二区三区 | 伊人av综合| 91亚州| 久久国语露脸国产精品电影 | 久久蜜臀一区二区三区av | av免费试看 | 国产成人久久 | 菠萝菠萝蜜在线播放 | 日韩网站一区 | 国产高清永久免费 | 91色欧美| 久久精品草| 国产免费中文字幕 | 探花视频在线观看+在线播放 | 欧美日韩在线播放 | 国产成人a亚洲精品 | 999久久精品 | 超碰com| 久久艹中文字幕 | 国产免费精彩视频 | 99综合视频 | 日本一区二区不卡高清 | 96av在线视频| 天天操天天爱天天干 | 六月天综合网 | 一本一本久久a久久精品牛牛影视 | 一区二区三区四区精品 | 久久毛片高清国产 | 中午字幕在线观看 | 国产人成看黄久久久久久久久 | 日韩国产欧美在线视频 | 亚洲aaa毛片| 国产黄色在线网站 | 亚洲人在线7777777精品 | 激情视频综合网 | 最近2019好看的中文字幕免费 | 国产精品99久久久久久宅男 | 伊人久久五月天 | 国产精品网红直播 | 99精品在线免费在线观看 | 韩国精品福利一区二区三区 | 色六月婷婷 | 欧美老人xxxx18 | 久久久亚洲成人 | 99久久99久久免费精品蜜臀 | 五月在线视频 | 国产免费一区二区三区最新6 | 亚洲在线视频免费观看 | 久久亚洲欧美日韩精品专区 | 日韩欧美高清免费 | 中文字幕在线日 | 国产麻豆精品免费视频 | 久久精品艹 | 亚洲精品在线观看av | 国产黄色片网站 | 一区二区三区四区五区在线视频 | 日日添夜夜添 | 在线中文字幕一区二区 | 久久综合久久八八 | 久久精品久久精品 | 久久 地址 | www.69xx| 色综合天天爱 | 色综合久久99 | 深夜男人影院 | 四虎永久免费网站 | a级国产毛片 | 国产天天综合 | 欧美日韩国产网站 | 亚洲毛片视频 | 亚洲片在线资源 | 午夜精品久久久久久久99热影院 | 亚洲黄色大片 | 天天干天天干天天 | 国产精品毛片一区二区在线看 | 亚洲国产精彩中文乱码av | 久久久国产影院 | 偷拍福利视频一区二区三区 | 国产91成人 | 欧美aⅴ在线观看 | 精品v亚洲v欧美v高清v | 日韩av一卡二卡三卡 | 在线不卡a | 亚洲一区免费在线 | 最新国产精品久久精品 | 黄色精品久久久 | 国产精品免费久久久久影院仙踪林 | 亚洲欧洲精品一区 | 久久少妇av | 国产色视频一区二区三区qq号 | 国产精品日韩精品 | 在线观看精品一区 | 色99导航| 综合网天天色 | 一区二区在线影院 | 在线免费观看黄色大片 | 九七人人干 | 亚洲一区二区天堂 | 黄色av影院 | 国产在线视频一区 | 美女福利视频一区二区 | 日本最新中文字幕 | 99视频网站 | 欧美久草视频 | 婷婷丁香社区 | 黄色免费在线看 | 日本久久久久久 | .国产精品成人自产拍在线观看6 | 国产一级电影免费观看 | 久久99免费 | 日日干美女 | 最新日韩视频 | 国产一级在线免费观看 | 久久a v视频| 九九热只有精品 | 久久免费高清视频 | 成年人电影毛片 | 亚洲国产成人av网 | 久久国产精品99久久久久久丝袜 | 亚洲三级在线播放 | 看av免费网站 | 国产精品ⅴa有声小说 | 在线免费三级 | 手机av在线不卡 | 超碰人人在线 | 国产精品视频免费在线观看 | 91免费观看网站 | 免费色黄 | 成人午夜毛片 | 在线一二三四区 | 国产精品视频久久久 | 在线精品观看国产 | 色网站在线看 | 色综合天天色综合 | 黄色毛片在线 | 99色在线观看视频 | 欧美日韩国产一区二区三区 | www.亚洲黄| 二区三区在线视频 | 国产九九九九九 | 日日摸日日爽 | 欧美精品你懂的 | 伊甸园永久入口www 99热 精品在线 | 91成人网在线观看 | 99久精品视频| 国产三级av在线 | 在线免费观看的av | 91成人精品一区在线播放69 | 日本3级在线观看 | 99r在线观看 | 日韩理论电影网 | 黄色小说网站在线 | 免费看黄网站在线 | 久久久久久久久久国产精品 | 少妇啪啪av入口 | 欧美日韩国产一区二区三区 | 人人射av| 婷婷中文字幕 | 久久香蕉电影 | 亚洲精品美女在线观看播放 | 午夜精品久久久久久久99水蜜桃 | 久久99精品国产99久久6尤 | 亚洲精品国产精品国自产 | 国产一区免费 | 91福利影院在线观看 | 国产成人精品一区二区 | 91污视频在线观看 | www.天天射 | 国产97视频 | 久热av| 亚洲性少妇性猛交wwww乱大交 | 99视频免费 | 日韩一级网站 | 久久这里只有精品视频99 | 人人爽人人爽av | 欧洲精品在线视频 | 中文字幕91| 久草在线手机视频 | 亚洲片在线观看 | 美女久久久 | 一本一道久久a久久综合蜜桃 | www久草 | 国产精品欧美在线 | 国产18精品乱码免费看 | 黄色精品一区二区 | 国产99re| 香蕉网址| 丁香婷婷社区 | 又紧又大又爽精品一区二区 | 免费福利视频导航 | 国产精品久久久av | 欧美在线视频a | 日本深夜福利视频 | 色婷婷激情 | 欧美日韩xx | 欧美日韩精 | 欧美午夜久久 | 久草在线看片 | 亚洲欧美色婷婷 | 激情欧美xxxx | 一区二区三区四区精品 | 超碰在线资源 | 日韩精品一区二区三区水蜜桃 | 国产高清视频网 | 国产精品视频最多的网站 | 国产成人61精品免费看片 | 日韩精品一区二区在线视频 | h动漫中文字幕 | 免费人成在线观看网站 | 亚洲成人av免费 | 伊人黄 | 日本一区二区高清不卡 | 国产福利91精品一区 | 天天天综合网 | 国产91免费在线 | 久久手机在线视频 | 午夜精品一区二区三区免费视频 | 久草在线视频国产 | 亚洲视频一 | 六月丁香久久 | 精品中文字幕在线 | 国产中文字幕网 | 午夜的福利| 黄色成人毛片 | 亚洲三级影院 | 超碰在线97国产 | 欧美激情另类文学 | 日韩精品视频在线免费观看 | 免费日韩电影 | 欧美激情精品久久久久久免费 | 在线观看激情av | 国产黄色美女 | 亚洲黄色在线免费观看 | 人人爽久久久噜噜噜电影 | 久久综合九色99 | 奇米导航| 中文国产成人精品久久一 | 日韩精品一区二区三区在线视频 | 中文免费| 黄色亚洲大片免费在线观看 | 国产在线欧美在线 | 免费色视频网站 | 久久精品国产一区二区电影 | 91精品国产91 | 亚洲精品乱码久久 | 久草在线在线视频 | 久久九九影院 | 国产一区二区三区免费在线 | 91热这里只有精品 | 久青草影院 | 亚洲精品一区二区三区新线路 | 狠狠狠色丁香综合久久天下网 | 日韩在线精品 | 国产精品自产拍 | 中文字幕二区三区 | 96久久久| 国产精品国产三级国产aⅴ无密码 | 精品久久综合 | 国产亚洲免费观看 | 亚洲国产精品人久久电影 | 97av在线| 国产中文欧美日韩在线 | 六月激情婷婷 | 中文字幕之中文字幕 | 日韩中文字幕在线不卡 | 成人欧美一区二区三区在线观看 | 国产在线超碰 | 日韩三区在线 | 五月婷久 | 国产精品美女在线观看 | 国产高清视频免费最新在线 | 麻豆精品国产传媒 | 一级a毛片高清视频 | 在线日韩av| 天天射天天做 | 日韩一级电影网站 | 日韩大片在线播放 | 激情久久小说 | 久久黄色影视 | 奇米网777 | 亚洲精品国产精品国产 | av在线激情 | 欧美一级片在线免费观看 | 亚洲电影av在线 | 操操操干干干 | 波多野结衣一区二区 | 超碰97av在线 | 天天操天 | 国产区高清在线 | 色在线免费观看 | 午夜影院在线观看18 | 99自拍视频在线观看 | 日韩一级成人av | 超碰在97| 青青河边草观看完整版高清 | 精品视频999 | 伊人永久 | 日日天天av | www黄com| 亚洲精品理论片 | 视频二区在线视频 | 日韩免费高清 | 久久成人亚洲欧美电影 | 国产免费观看高清完整版 | 黄色中文字幕 | 98超碰在线 | 色婷婷电影 | 91av观看 | 日韩午夜网站 | 亚洲精品一区二区18漫画 | 欧美久久久久久久久 | 91porny九色在线播放 | 国产黄色片免费 | 国产成人精品国内自产拍免费看 | 欧美尹人 | 亚洲天堂网视频在线观看 | 免费看的毛片 | 久久视频 | 国产精品第72页 | 精品久久久久久综合日本 | 日韩午夜小视频 | 波多野结衣网址 | 色综合天天综合 | 中文字幕免费高清在线观看 | 日韩av专区 | 欧美日韩免费一区 | 久久久精品在线观看 | 在线观看日韩免费视频 | 中文字幕精品一区二区三区电影 | 91视频在线免费看 | 日免费视频| 国产在线a免费观看 | 日韩免费三区 | 天天做天天射 | 日本久久中文 | 色婷婷五 | 久久成人国产精品 | 中文在线| 亚洲国产成人久久 | 国产 日韩 欧美 在线 | 日批网站在线观看 | 欧美日韩一区二区视频在线观看 | 国产高清精 | 国产在线精品区 | 激情欧美日韩一区二区 | 久久在视频 | av中文字幕亚洲 | 日韩一区二区三区不卡 | 色99网| 欧美日韩精品电影 | 911香蕉视频 | 韩国三级在线一区 | 国产精品一二 | 丰满少妇久久久 | 亚洲欧美经典 | 国产xxxx | 91精品人成在线观看 | 丁香五月亚洲综合在线 | 亚洲一区网站 | 国产97碰免费视频 | 精品免费观看 | 91色在线观看视频 | 亚洲国产一区在线观看 | 99精品亚洲| 国产精品丝袜 | 国产在线观看一 | 一区三区视频 | 正在播放国产精品 | 国产视频久久 | 中文不卡视频在线 | 精品国产一区二区三区四区在线观看 | 黄色小说在线观看视频 | 亚洲精品字幕在线 | 人人看人人草 | 天堂入口网站 | 66av99精品福利视频在线 | 在线观看免费av网 | 视频在线观看亚洲 | 国产麻豆精品一区 | 国产无套精品久久久久久 | 亚洲乱码精品久久久久 | 麻豆精品91| 中文字幕一区二区三区乱码不卡 | 四虎免费av | 日韩欧美一区二区三区视频 | 天堂av影院 | 亚洲人在线7777777精品 | h网站免费在线观看 | 国产日韩欧美视频 | 国产亚洲精品久久久网站好莱 | 亚洲精品色婷婷 | 成人黄色电影在线观看 | 久久久福利影院 | 香蕉视频色 | 人人爱天天操 | 欧美日韩成人 | 在线观看视频一区二区三区 | 亚洲国产美女精品久久久久∴ | 国产高清不卡在线 | 久久伦理电影网 | 99热官网| 97视频免费在线看 | 国产精品99久久久 | 日韩 在线观看 | 一区二区三区四区五区在线 | 丁香5月婷婷 | 久久精品一区二区国产 | 国产精品99久久久久久有的能看 | 美女视频久久黄 | 1000部国产精品成人观看 | 91成人网页版 | 国产视频第二页 | 伊人伊成久久人综合网小说 | 久久香蕉电影 | 亚洲另类视频在线观看 | 一级黄网| 免费在线观看av网址 | a极黄色片 | 一区二区三区日韩在线观看 | 久久久影视 | 中文字幕麻豆 | 国产99久久精品 | 性色在线视频 | 国际精品久久 | 国产又粗又猛又爽又黄的视频免费 | 伊人天天狠天天添日日拍 | 成 人 黄 色 免费播放 | 天堂av免费观看 | 亚洲婷婷在线 | 激情小说网站亚洲综合网 | 日韩精品一区二区三区免费观看 | 免费高清看电视网站 | 国产二区视频在线 | 夜夜夜夜夜夜操 | 特黄免费av| 日韩精品一区二区三区丰满 | 最新中文字幕在线资源 | 中文字幕精品www乱入免费视频 | 欧美精品三级在线观看 | 久久99国产精品久久99 | 在线免费观看国产黄色 | 亚洲视频综合 | 国内外成人免费在线视频 | 国产精品一区在线观看 | 亚洲欧洲美洲av | 国产尤物一区二区三区 | 特级黄录像视频 | 色com | 国产中文视 | 国产精品大片免费观看 | 色多多污污在线观看 | 香蕉蜜桃视频 | av千婊在线免费观看 | 日韩在线字幕 | 成年人网站免费观看 | 五月视频 | 九热在线| 国产精品欧美一区二区三区不卡 | 97av精品| www色片 | 中文在线免费视频 | 丰满少妇一级 | 国产一区二区三区 在线 | 不卡的av | 国产精品国产三级国产aⅴ无密码 | 久久久影院一区二区三区 | 久久久久久高清 | 91麻豆精品国产自产 | 香蕉视频亚洲 | 国产精品欧美日韩 | 亚洲精品国产精品国自产在线 | 亚洲欧美日本一区二区三区 | 玖玖视频在线 | 91大神免费视频 | 欧美激情精品久久久 | 手机看片福利 | 中文字幕在线第一页 | 超碰在线98 | 欧美激情综合五月色丁香小说 | 免费视频18| 99久久国产免费免费 | 国产精品不卡一区 | 精品a视频 | av中文在线 | 欧美一区二视频在线免费观看 | www.五月婷| 人人射人人插 | 日韩视频在线观看视频 | 国产精品夜夜夜一区二区三区尤 | 操操综合| 成人黄色短片 | 国产中文字幕三区 | 国产高清视频网 | 日本中文字幕网站 | 日韩电影一区二区在线 | 最近的中文字幕大全免费版 | 国产精品一区二区久久精品 | 亚洲资源网 | 国产又粗又猛又黄 | av资源免费在线观看 | 国产免费黄色 | 五月婷影院 | 高清有码中文字幕 | 又黄又刺激又爽的视频 | 午夜av在线播放 | 蜜桃av人人夜夜澡人人爽 | 国产一区二区视频在线 | 日韩免费播放 | 久久久久久不卡 | 国产99久久久精品 | 中文字幕在线观看资源 | 亚洲高清视频在线观看 | 欧美午夜性生活 | 久草免费在线观看 | av不卡网站 | 日韩91av | 波多野结衣视频一区 | 欧美va天堂va视频va在线 | 亚洲视频一区二区三区在线观看 | 一区二区精品在线观看 | 免费观看十分钟 | 久久综合导航 | 亚洲免费高清视频 | 成年人三级网站 | 中文字幕色在线 | 一区精品久久 | 免费一级毛毛片 | 香蕉视频日本 | 视频在线观看91 | 丝袜美女在线观看 | ,久久福利影视 | av电影在线播放 | 国产成人一区二区三区久久精品 | 九九在线视频免费观看 | 香蕉精品在线观看 | 高清av免费看 | 亚洲激情网站免费观看 | 久草国产在线观看 | 免费看的毛片 | 色综合久久五月 | 国产人在线成免费视频 | 91一区二区三区久久久久国产乱 | 精品自拍网 | 婷婷丁香狠狠爱 | 久久精品99国产精品亚洲最刺激 | 菠萝菠萝蜜在线播放 | 黄色网址在线播放 | 中文字幕二区在线观看 | av综合在线观看 | 天堂av在线免费 | 国产精品岛国久久久久久久久红粉 | 在线视频99| 亚洲第五色综合网 | 91在线观看视频 | 久久久久观看 | 国产中文字幕视频在线观看 | 在线天堂中文在线资源网 | 99久久精品国产免费看不卡 | 综合久久五月天 | 中文av网站 | 亚洲精品乱码久久久久 | 国产高清视频在线 | 欧美日韩中 | 亚洲国产视频直播 | 国产又黄又爽无遮挡 | 91在线精品秘密一区二区 | 久久天天躁夜夜躁狠狠85麻豆 | 二区三区视频 | 插婷婷| 97人人模人人爽人人少妇 | 人人澡人人爽欧一区 | 日韩av播放在线 | 亚洲日日夜夜 | 日韩资源在线 | 国产精品黄网站在线观看 | 免费亚洲婷婷 | 天天操天天爽天天干 | 黄污在线看 | a黄色| 特级黄色电影 | 国产婷婷| 久久综合免费 | 在线观看一区 | 成人午夜黄色 | 国产精品不卡在线观看 | 欧美永久视频 | 视频在线亚洲 | 亚洲一区欧美精品 | 欧美一级免费高清 | 2000xxx影视 | 国产精品国产自产拍高清av | 中文字幕在线观看网站 | av电影 一区二区 | 青青视频一区 | 成人午夜电影免费在线观看 | 国产精品久久久久久久久搜平片 | 久草在线网址 | 久久久久久久久国产 | 国产成人av一区二区三区在线观看 | 天天天射| 在线观看mv的中文字幕网站 | 日韩专区 在线 | 一区二区视频在线观看免费 | 国产成人精品久久二区二区 | 人人草在线观看 | 日韩电影中文字幕 | 伊人成人精品 | 中文字幕一区在线 | 精品国偷自产在线 | 狠狠操夜夜操 | 最近日韩免费视频 | 午夜精品福利一区二区三区蜜桃 | 国产精品久久久久久影院 | 操操日日 | 中文字幕久久精品一区 | 九九色视频 | 成人片在线播放 | 欧美色噜噜 | 亚洲精品在线观看中文字幕 | 国产精品系列在线 | 视频国产一区二区三区 | 日韩免费在线观看视频 | av黄色av | 99 久久久久 | 九九热免费视频在线观看 | 欧美日韩高清在线一区 | 免费在线观看的av网站 | 亚洲精品在线视频观看 | 欧美午夜性生活 | www.国产视频 | 国产91九色蝌蚪 | 美女国内精品自产拍在线播放 | 四虎最新入口 | 久久久精品 一区二区三区 国产99视频在线观看 | 久影院| 国产伦理久久精品久久久久_ | 日韩视频在线一区 | 少妇bbw搡bbbb搡bbbb | 国产一二三精品 | 在线观看免费一级片 | 亚洲精品乱码久久久久久蜜桃动漫 | 91最新视频 | 五月天婷婷在线观看视频 | 国产成人精品午夜在线播放 | 精品在线观看一区二区 | 99热在| 欧美日产在线观看 | 欧美一区二视频在线免费观看 | 久久这里只有精品首页 | 亚洲视频在线免费看 | 97视频总站 | 激情丁香5月 | www.久久久com | 国产精品久久久久久久久久直播 | 国产精品久久久久久久久久白浆 | 99久久久免费视频 | 91精彩视频 | 手机在线看片日韩 | 国产免费一区二区三区网站免费 | 久久国产亚洲视频 | 91免费黄视频 | 精品国产成人av | 丁香六月国产 | 人人干网站 | 成人看片 | 在线观看岛国片 | 97在线资源| 日日摸日日爽 | 久久婷婷亚洲 | 亚洲精品国产欧美在线观看 | 日韩精品视频免费在线观看 | a级片久久久 | 久操免费视频 | 免费在线国产视频 | 久久久久久久久久久福利 | 久久国内免费视频 | 国产福利在线不卡 | 亚洲精品成人在线 | 亚洲国产欧美在线人成大黄瓜 | 免费视频久久久久久久 | 国产黄免费| 色久av| 色婷av | 中文字幕在线电影 | 久久1区 | 国产日产精品久久久久快鸭 | 久久九九影视网 | 免费男女羞羞的视频网站中文字幕 | 在线观看国产v片 | 精品欧美乱码久久久久久 | 丁香六月综合网 | 在线影院中文字幕 | 狠狠躁日日躁狂躁夜夜躁av | 超碰人人草 | av字幕在线| 国产免费观看高清完整版 | 色五月成人 | 夜夜躁日日躁狠狠久久av | 国产精品专区在线 | 日本性视频 | 亚洲精品视频在线免费播放 | 黄污网站在线观看 | 黄色午夜网站 | 黄色影院在线免费观看 | 国产又粗又猛又黄又爽视频 | 久久国产精品免费 | 天堂av在线免费观看 | 国产精品一区二区av | 2021av在线| 最近乱久中文字幕 | 日韩在线免费看 | 91精品对白一区国产伦 | 精品黄色在线观看 | 欧美做受69 | 最近久乱中文字幕 | 一二三精品视频 | 国产成人久久精品 | 亚洲免费一级电影 | 欧美精品乱码久久久久 | 色综合久久久久久久 | 天天拍天天操 | 久久免费av电影 | 一二三区av | 国产伦精品一区二区三区高清 | japanesefreesexvideo高潮 | 日韩电影在线一区二区 | www.com.黄| 国产精品久久久一区二区三区网站 | 五月天色婷婷丁香 | 深夜免费福利视频 | 成人国产精品久久久久久亚洲 | 亚洲精品在线观看不卡 | 麻豆视频国产精品 | 欧美男同视频网站 | www视频在线观看 | 91传媒在线观看 | 欧美国产日韩中文 | 久草视频免费看 | 色综合天天综合网国产成人网 | 91人网站| 人人看看人人 | 中文字幕在线播放日韩 | 国产成人三级一区二区在线观看一 | 国产精品 中文在线 | 国产91免费观看 | 日韩综合精品 | 人人看看人人 | 久久国产精品免费看 | 中文字幕在线看视频 | 国产精品一区二区在线免费观看 | 日韩电影在线观看一区二区三区 | 四虎免费av | 欧美韩日精品 | av线上免费观看 | 婷婷亚洲最大 | 干av在线| 亚洲精品视频网 | 午夜av一区二区三区 | 国产成人亚洲精品自产在线 | 日日色综合| 中文字幕久久久精品 | 色夜影院 | 成片人卡1卡2卡3手机免费看 | 国产成人性色生活片 | 国产黄色片免费观看 | 中文字幕在线播放av | 免费观看黄色12片一级视频 | 亚洲国产经典视频 | 精品久久一区二区 | 亚洲成人999 | 亚洲精品视频第一页 | 激情综合网色播五月 | 免费人成在线观看网站 | 亚洲狠狠丁香婷婷综合久久久 | 久久免费视频国产 | 国产精品视频内 | 中文字幕在线第一页 | 波多野结衣在线播放视频 | 人人澡人人爽欧一区 | 成人精品999| 欧美日韩视频在线观看免费 | 亚洲精品乱码久久久久久写真 | 欧美激情综合五月色丁香小说 | 国产xvideos免费视频播放 | 国产午夜亚洲精品 | 午夜久久久久久久久 |