免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

C++類模板從入門到工程實踐:實例化、特化與常見陷阱

C++類模板從入門到工程實踐:實例化、特化與常見陷阱 學 C 的人幾乎沒有不碰類模板template的。STL 容器、智能指針、標準庫算法隨便拉一個出來都是類模板或函數(shù)模板的產物。但我發(fā)現(xiàn)一個現(xiàn)象很多人能看懂 vector 、unique_ptr 的用法一轉身要自己定義一個類模板就開始手足無措要么把 template 關鍵字到處亂放要么干脆不知道成員函數(shù)該怎么寫在類外面。這篇文章我想把 C 類模板從語法骨架到工程實踐捋一遍重點不是背書而是回答“為什么這樣寫”“為什么我自己寫的時候會編譯失敗”以及“什么樣的代碼風格能讓模板類長期可維護”。無論你是剛學完類和對象、第一次看到 template 的初學者還是寫過一陣子模板卻總是被編譯錯誤折騰的開發(fā)者都值得花十幾分鐘從頭過一遍。1. 類模板要解決的最原始痛點為類型寫同一份實現(xiàn)1.1 沒有模板時代復制粘貼帶來的是長期的維護負債想象一下你要寫一個整數(shù)棧、一個字符串棧、一個浮點數(shù)棧。不用模板最直接的做法是復制三份類改成不同的類型名。類體可能七八十行復制三份之后看起來也還好對吧可問題出在改需求的時候。比如某一天你想給棧加一個clear()方法或者想把底層存儲從std::vector換掉你就得同步修改三份代碼少改一份某條業(yè)務分支就會在運行時崩潰或者行為不一致。再往后添新類型又得復制第四份、第五份。這就是典型的“復制粘貼式開發(fā)”的長期維護負債。短時間內爽后續(xù)每次改動都在還債。類模板的思路本質上很樸素既然這三份類的差別只在于元素類型那我把“類型”這個詞挖掉留一個占位符出來。寫一次邏輯讓編譯器在遇到Stackint、Stackstd::string、Stackdouble的時候分別按你說的類型再去生成對應版本。這個概念就是“用同一份代碼模板描述一類對象”也就是類模板的核心價值。1.2 類模板的思路把“類型”本身變成參數(shù)普通函數(shù)的參數(shù)是變量傳入的是值。類模板的參數(shù)是類型或者稍后會提到的編譯期常量。你可以把模板理解成給編譯器的一張圖紙templatetypename T class Stack { // 凡是元素類型都用 T 占位 };當你寫下Stackint的時候編譯器拿到這張圖紙把里面所有T替換成int生成一套真正可以實例化的類。當你寫下StackMyUser的時候再替換一次生成另一套獨立的類。這跟 C 語言里宏展開的思想有點像但區(qū)別在于模板有嚴格的語法和類型檢查不是無腦文本替換。關鍵詞typename和class在這里可以互換老代碼里更常見寫class新代碼大家逐漸習慣用typename含義完全一致。至于參數(shù)名叫T也不是強制規(guī)定只是慣例你叫ElemType、ValueType都行只要在模板體里保持一致。1.3 順帶澄清類模板和模板類不是同一個名詞初學者問“類模板和模板類有什么區(qū)別”的頻率非常高。簡單說類模板是那個帶templatetypename T的類定義本身它是一種“圖紙”模板類指的是“已經(jīng)指定了具體類型參數(shù)的類”比如Stackint此時可以說是一個模板類實例。這個區(qū)分在口語里經(jīng)?;煊玫珜懳恼隆⒆鲈O計時搞清楚有助于溝通。真正重要的是類模板本身不是一個可用的類型你沒法聲明Stack s;必須給出類型參數(shù)得到實際類型后才能創(chuàng)建對象。2. 一步步寫一個 Stack 從定義到實例化的完整骨架2.1 類內實現(xiàn)版本最直觀的第一版先看一段完整的StackT類內實現(xiàn)。作為示例我直接依賴std::vectorT做底層存儲這樣聚焦在模板語法上而不是數(shù)據(jù)結構細節(jié)。#include vector #include stdexcept templatetypename T class Stack { public: void push(const T value) { data_.push_back(value); } void pop() { if (data_.empty()) { throw std::out_of_range(Stack::pop(): empty stack); } data_.pop_back(); } T top() { if (data_.empty()) { throw std::out_of_range(Stack::top(): empty stack); } return data_.back(); } bool empty() const { return data_.empty(); } size_t size() const { return data_.size(); } private: std::vectorT data_; };注意std::vectorT里的T。當T是int時成員變量就是std::vectorint當T是自定義類型Product時成員變量就是std::vectorProduct。模板參數(shù)一旦傳入編譯器會沿整個類定義把所有出現(xiàn)T的地方都替換掉包括普通函數(shù)參數(shù)、返回值、局部變量和成員變量聲明。使用方式很直接Stackint intStack; intStack.push(1); Stackstd::string strStack; strStack.push(hello);這里有個容易誤解的地方Stackint和Stackstd::string是兩個完全無關的類型它們之間沒有繼承、也沒有隱式轉換關系。你寫一個普通函數(shù)void foo(Stackint)傳Stackstd::string進去編譯器會直接報類型不匹配因為編譯器確實生成了兩套獨立的類。2.2 成員函數(shù)在類外定義時的重復寫法實際項目里為了讓類的接口更清晰、降低編譯期依賴經(jīng)常把聲明和定義分開。普通類在類外定義成員函數(shù)時只需要寫ClassName::functionName。模板類就不一樣每個類外定義的成員函數(shù)都必須重新帶上templatetypename T同時要寫StackT::。templatetypename T void StackT::push(const T value) { data_.push_back(value); } templatetypename T void StackT::pop() { if (data_.empty()) { throw std::out_of_range(Stack::pop(): empty stack); } data_.pop_back(); } templatetypename T T StackT::top() { if (data_.empty()) { throw std::out_of_range(Stack::top(): empty stack); } return data_.back(); }在頭文件里這樣寫的時候templatetypename T這行聲明必須緊跟對應定義。有人會把templatetypename T寫漏或者寫成了templatetypename T但函數(shù)名卻寫Stack而不是StackT編譯器就會報類似“缺少模板實參”的錯。還有一個容易忽略的點普通類可以一個::走天下模板類在嵌套作用域里更要小心比如構造函數(shù)寫在類外templatetypename T StackT::Stack() default;在 C11 之后即便想 default不在類內寫也要把這個聲明放在類里類外才補定義。如果干脆不寫任何構造編譯器生成默認構造你也不需要額外操心。2.3 交給編譯器的“實例化”到底發(fā)生在什么時候很多初學者背下了模板語法卻搞不明白模板代碼什么時候被真正編譯。實際上模板定義里的語法錯誤在編譯器看到templatetypename T class Stack {...}時就會檢查一部分但和類型相關的邏輯錯誤往往要等到你寫出Stackint這樣的實例化表達式之后編譯器才會把T替換成int再全量檢查一遍成員函數(shù)體。這就是為什么有人寫了一個模板類從來沒使用過它編譯通過了一旦真用起來報了一堆錯。真實原因是你沒有實例化它編譯器沒必要去檢查“把T替換為某個類型后函數(shù)體里的所有操作是否合法”。只要T是未知的很多操作沒法提前判定。這個機制既方便又危險方便在于模板代碼可以寫得很通用危險在于如果你只用某一套類型實例化另一條函數(shù)分支可能從來沒被檢查過等線上某個怪異的類型觸發(fā)時才炸。2.4 構造函數(shù)的模板參數(shù)推導C17 帶來的改變在 C17 之前寫Stack這類模板你必須顯式給出類型參數(shù)Stackint s;哪怕構造函數(shù)里已經(jīng)傳了int進去編譯器也不會替你猜。C17 引入了類模板實參推導CTAD一部分場景下可以直接簡寫templatetypename T class AutoStack { public: AutoStack(T seed) : data_{seed} {} private: std::vectorT data_; }; AutoStack s{42}; // C17 推導出 AutoStackint這對減少冗余非常有幫助但推導也不是永遠符合直覺。構造函數(shù)有多個參數(shù)、參數(shù)類型不完全一致、或者有默認構造時推導規(guī)則會變復雜。后面第 6 部分我再單獨展開。3. 非類型參數(shù)、默認參數(shù)和特化類模板不止能傳類型3.1 非類型模板參數(shù)把一個編譯期常量傳給類類型可以作為模板參數(shù)整數(shù)、枚舉、指針等編譯期常量也可以。最常見的就是std::arrayT, N第二個參數(shù)N是std::size_t類型的非類型模板參數(shù)。templatetypename T, size_t Capacity class FixedBuffer { public: T operator[](size_t index) { return data_[index]; } size_t capacity() const { return Capacity; } private: T data_[Capacity]; }; FixedBufferint, 256 buf;寫T data_[Capacity]意味著Capacity必須是一個編譯期已知的常量表達式不能是變量也不能是函數(shù)返回的運行時值。聯(lián)系到上一節(jié)的實例化機制FixedBufferint, 256和FixedBufferint, 512也是兩個不同的類型因為生成的內部數(shù)組大小不同。非類型模板參數(shù)的類型限制在不同標準版本里有變化。早期只允許整型、枚舉、指針和左值引用到了 C20結構體類型的字面量也可以作為非類型模板參數(shù)。實際工程里最常見的仍然是非負整數(shù)和指針別在模板參數(shù)列表里塞浮點數(shù)double——浮點數(shù)在編譯期比較多少存在精度和等價性問題標準過去明確禁止現(xiàn)在某些場景仍容易踩坑。3.2 默認模板參數(shù)什么時候能用、什么時候不能用類模板和函數(shù)類似也可以給模板參數(shù)一個默認值templatetypename T, typename Container std::vectorT class Stack { public: void push(const T value) { data_.push_back(value); } private: Container data_; }; Stackint s1; // 相當于 Stackint, std::vectorint Stackint, std::dequeint s2;給第二個模板參數(shù)默認值之后就能在不指定Container的情況下直接使用Stackint。需要注意默認值的展開是“參數(shù)相關”的std::vectorT里的T是第一個模板參數(shù)C 的默認模板參數(shù)允許引用前面的模板參數(shù)這是合法的而且非常實用。不過你不能讓一個帶默認值的參數(shù)出現(xiàn)在不帶默認值的參數(shù)前面除非編譯器能推斷出該參數(shù)的實參。規(guī)則和函數(shù)默認參數(shù)很像一旦某個參數(shù)開始使用默認值后面所有參數(shù)也必須提供默認值。類模板構造時如果想顯式指定Container但讓第一個參數(shù)用默認值那是做不到的因為模板實參按位置匹配沒辦法“跳過”。3.3 全特化與偏特化當同一套代碼覆蓋不了特殊情況類模板的通用實現(xiàn)是針對絕大多數(shù)類型的但某些具體類型可能需要完全不同的處理。比如你要寫一個通用的類型信息打印工具TypeDescriberT對普通類型返回名字對int和std::string單獨給出更具體的信息。這時就可以做全特化。#include string templatetypename T struct TypeDescriber { static const char* name() { return unknown; } }; template struct TypeDescriberint { static const char* name() { return int; } }; template struct TypeDescriberstd::string { static const char* name() { return std::string; } };寫法是先寫template表示這是一個對某個具體類型的全特化后面跟struct TypeDescriberint。注意template后面是空的尖括號不是templatetypename T。當你調用TypeDescriberdouble::name()時走通用版本調用TypeDescriberint::name()時走特化版本。偏特化則更進一步你并不把所有模板參數(shù)都確定下來而是對某一類形態(tài)做定制。比如“所有指針類型”是一個形態(tài)“所有 const 限定類型”是另一個形態(tài)templatetypename T struct TypeDescriberT* { static const char* name() { return pointer; } }; templatetypename T struct TypeDescriberconst T { static const char* name() { return const value; } };偏特化最常見的形態(tài)包括指針類型、引用類型、std::arrayT, N這種容器類型。本質上編譯器在模板匹配時會優(yōu)先選擇更特化的版本。它能支持非常復雜的模式匹配比如templatetypename T, typename U struct X;可以偏特化出templatetypename U struct Xint, U這意味著“當?shù)谝粋€參數(shù)是int時就用這套特別的實現(xiàn)”。掌握這一招寫類型萃取和編譯期分發(fā)會輕松很多。3.4 特化誤用警告不要試圖偏特化函數(shù)模板這里想特別提醒一句類模板可以偏特化函數(shù)模板不能偏特化。很多人學到類模板偏特化后會順手在函數(shù)模板上試// 不要這樣寫編譯器會報錯或者行為不符合預期 templatetypename T void foo(T value) {} templatetypename T void fooT*(T* value) {} // 函數(shù)模板不能偏特化函數(shù)模板如果要對指針做特殊處理更常規(guī)的做法是使用函數(shù)重載或者通過 C20 的requires約束實現(xiàn)。你不必非要“修正”這一限制。理解了類模板偏特化和全特化的區(qū)別工程中就夠用了。4. 成員函數(shù)、友元和繼承類模板組合玩法中的容易出事點4.1 依賴類型必須寫 typename寫類模板時成員變量或者函數(shù)體里經(jīng)常會用到“依賴類型”也就是依賴于模板參數(shù)的類型。比如你希望T內部包含一個iterator類型templatetypename T class CollectionHelper { public: void iterate() { // 這里 T::iterator 是依賴類型 typename T::iterator it container_.begin(); while (it ! container_.end()) { it; } } private: T container_; };T::iterator為什么必須加typename因為在編譯器眼里T是未知的T::iterator可能是一個類型也可能是T里的一個靜態(tài)變量名。C 語法規(guī)定在模板中默認把這種限定名當作值處理除非你顯式用typename告訴它“這是一個類型”。不加typename時編譯錯誤往往很繞比如“需要類型說明符”或“缺少;”。這個錯誤在類模板里非常高頻我在很多代碼評審里都見過。同樣的規(guī)則還體現(xiàn)在類型別名上templatetypename T using IteratorType typename T::iterator;4.2 友元函數(shù)在類模板內部的兩種寫法普通類的友元很好理解類模板里的友元稍微復雜。最常見、也最不容易出錯的是“在類內部直接定義友元函數(shù)”此時友元函數(shù)和當前模板實例綁在一起templatetypename T class Number { public: Number(T value) : value_(value) {} friend Number operator(const Number lhs, const Number rhs) { return Number(lhs.value_ rhs.value_); } private: T value_; };這樣每次實例化Numberint時會同時生成一個對應的operator(const Numberint, const Numberint)函數(shù)。它只接受與當前實例化完全匹配的類型避免了跨類型的隱式轉換問題。很多運算符重載的模板實現(xiàn)都用這種內聯(lián)友元寫法。如果你想在類外定義友元函數(shù)需要先聲明模板函數(shù)再在友元聲明處用模板參數(shù)來“特指”寫法比較繁瑣而且很容易出現(xiàn)“友元函數(shù)模板匹配不上”的謎之錯誤。對于大多數(shù)業(yè)務代碼我更推薦優(yōu)先用成員函數(shù)或者內聯(lián)友元只有在需要支持形如T U這樣兩個不同類型同時參與運算時才考慮外部模板函數(shù)配合友元。4.3 繼承類模板注意依賴基類名字的坑類模板也可以繼承其它類模板。這個場景在實現(xiàn)“自定義容器適配器”或者“策略模式”時經(jīng)常遇到。比如基類是一個帶有某個成員函數(shù)的模板templatetypename T class Base { public: void baseMethod() { // ... } }; templatetypename T class Derived : public BaseT { public: void derivedMethod() { baseMethod(); // 這里可能編譯失敗 } };在模板派生類里直接寫baseMethod()可能報錯因為編譯器在解析非依賴名字時不會去依賴基類BaseT中查找——在模板定義階段它對BaseT一無所知不能確定baseMethod是否存在。解決辦法是用this-讓它變成依賴表達式或者顯式寫B(tài)aseT::baseMethod()templatetypename T class Derived : public BaseT { public: void derivedMethod() { this-baseMethod(); BaseT::baseMethod(); } };這個看起來像“多此一舉”的this-實際上是模板兩階段查找機制的直接后果。只有理解了這個規(guī)則遇到這類報錯時才會想到去加this-而不是懷疑編譯器壞了。5. 模板代碼為什么必須放頭文件編譯模型與鏈接錯誤5.1 編譯器要看到完整的模板定義才能“按實參生成代碼”普通類的做法是頭文件放聲明源文件放實現(xiàn)調用方編譯時只需看到類聲明。但類模板不能這么干。原因很簡單編譯器在Stackint s;這一行需要知道Stackint的完整定義包括成員變量大小、成員函數(shù)函數(shù)體才能生成代碼。如果頭文件里只有templatetypename T class Stack;這行聲明沒有實現(xiàn)實例化時就會報“未定義類型”或鏈接階段提示缺少函數(shù)實現(xiàn)。一種常見但很糟糕的做法是試圖把模板實現(xiàn)寫在.cpp里然后讓另一個.cppinclude 它。這么做經(jīng)常導致多份定義或者鏈接錯誤。正確做法是把模板定義完全放在頭文件里或者至少讓實現(xiàn)對使用方可見。這不是 C 的缺陷而是模板實例化模型決定的——它不像 Java 泛型那樣在運行時抹除類型而是在編譯期替使用方把具體類型生成出來。5.2 extern template 與顯式實例化大型工程的務實手段當同一個模板被幾十個源文件使用同一組參數(shù)實例化時每編譯一個.cpp編譯器都生成一份相同的實例化代碼鏈接器再合并去重。編譯時間會變得很難看。C11 提供了extern template幫助緩解這個問題?;酒鸩绞窃谀骋粋€.cpp里顯式實例化你需要的類型// stack_inst.cpp #include Stack.h template class Stackint; template class Stackdouble;然后在頭文件里聲明這些實例在其它翻譯單元已經(jīng)存在// Stack.h extern template class Stackint; extern template class Stackdouble;這樣其它.cpp看到Stackint時會相信“它的已經(jīng)完全實例化編譯這一份時別再生成第 N 遍”從而減少編譯時間。代價是你必須提前手動列出所有用到的類型組合這對類型不定、用戶會自由實例化的泛型組件來說并不現(xiàn)實。所以extern template通常用于庫內部已知的熱點實例比如標準庫就大量用于std::string、std::vector...的顯式實例化。普通業(yè)務項目不必一開始就逼自己用等編譯時間真的大到影響開發(fā)效率時再針對性優(yōu)化。5.3 兩階段查找模板代碼亂序帶來的常見編譯問題模板的名字查找分為兩個階段。第一階段是解析模板定義本身時查找不依賴模板參數(shù)的名字第二階段是在實例化時查找依賴模板參數(shù)的名字。這正是上一節(jié)派生類調用基類成員需要this-的深層原因。舉一個更直白的例子同一段模板代碼放在被調用函數(shù)之前或之后結果可能不同void helper() { // ... } templatetypename T struct Test { void call() { helper(); // 第一階段就能找到非依賴名字 helper T::action(); // 第二階段實例化時查找 } };如果helper在模板定義處之后才聲明第一階段就找不到即使你實例化模板時helper已經(jīng)存在也不行。非依賴名字必須在模板定義處可見。理解了這一點排查“為什么模板內調用的全局函數(shù)找不到”這類問題就知道該往哪個方向查了。6. 現(xiàn)代 C 給類模板帶來的新變化CTAD、可變參數(shù)模板與工程習慣6.1 C17 類模板實參推導簡化了日常使用前面提過 C17 的 CTADClass Template Argument Deduction。它最實用的場景是配合構造函數(shù)推導類型參數(shù)減少手寫冗余聲明。比如templatetypename T struct Point { Point(T x, T y) : x_(x), y_(y) {} T x_; T y_; }; Point p(1.5, 2.5); // 推導出 Pointdouble如果兩個參數(shù)類型不一致比如Point p(1, 2.5)那么推導會失敗因為沒有唯一確定的T。這時候編譯器報錯反而能幫我們發(fā)現(xiàn)設計問題到底是該傳兩個int還是應該把其中一個隱式轉換模板推導的理想是盡量自動但不會替你決定潛在歧義。6.2 通過 deduction guide 糾正推導結果CTAD 雖然方便但推導結果偶爾不理想。典型場景是你希望模板參數(shù)類型是“去掉引用和 const 后的類型”或者想對字符串字面量做特殊處理。C17 允許自定義推導指引deduction guide直接告訴編譯器“遇到這種構造方式時推導成什么類型”templatetypename T struct MyString { MyString(const T value) : value_(value) {} T value_; }; // 當傳入 const char* 時不要推導成 const char*而希望保存為 std::string MyString(const char*) - MyStringstd::string;這樣寫MyString s hello;時推導結果不是MyStringconst char*而是MyStringstd::string。這個技巧在寫各種包裝類、適配器類時很常用。需要區(qū)分推導指引只影響推導并不會改變真實的構造函數(shù)行為。6.3 可變參數(shù)類模板C11 引入的模板參數(shù)包讓類模板也能接收數(shù)量不定的類型參數(shù)。最典型的例子就是std::tupletemplatetypename... Ts struct MyTuple { MyTuple(Ts... args) : values_(args...) {} std::tupleTs... values_; }; MyTuple t(1, 2.5, std::string(hello));這里的Ts...是一個類型參數(shù)包展開后等價于把多個類型塞進模板參數(shù)列表。你需要區(qū)分兩個展開位置類型展開和表達式展開。std::tupleTs...是類型展開MyTuple(Ts... args)是把參數(shù)包展開成構造函數(shù)參數(shù)args...是表達式展開??勺儏?shù)模板很容易把代碼風格推向“高級 but 難讀”的極端。我用下來的體會是盡量把參數(shù)包展開集中在一兩個內部工具函數(shù)里不要讓展開邏輯散布整個類外部。std::apply、折疊表達式這些機制也能顯著簡化展開代碼C17 以后寫起來舒服多了。6.4 我寫類模板時堅持的幾個習慣最后分享幾條實際經(jīng)驗都是踩過坑才總結出來的。第一類模板的對外接口盡量保持小。模板代碼一旦編譯錯誤報錯信息動輒幾百行接口越復雜理解成本越高。能拆成普通函數(shù)就別把所有邏輯都塞進模板類里保證只有真正需要類型參數(shù)的地方才用模板。第二所有依賴類型都顯式寫typename。這會讓代碼啰嗦一點但極大降低編譯期歧義。代碼是寫給其他人讀的typename T::iterator一眼就能看出“這是類型別名”不加則要猜半天。第三模板定義按“先聲明、后定義”組織把非模板邏輯部分盡量抽到普通函數(shù)。模板實現(xiàn)放頭文件不假但頭文件內部依然可以分成接口聲明區(qū)、實現(xiàn)區(qū)。大型項目里還可以考慮把模板實現(xiàn)拆到_impl.h文件里主頭文件在末尾 include 它至少從觀賞性上會清爽很多。第四別輕易用特化做“性能 hack”。很多人拿到模板第一反應是給特定類型做特化來優(yōu)化。特化本身沒問題但每多一個特化維護成本就多一層。業(yè)務沒有實際性能壓力時先把通用實現(xiàn)寫對再說。真要優(yōu)化用 C20 的 concepts 和requires約束來分派不同實現(xiàn)代碼語義比滿天飛的template清晰得多。模板是 C 最有表達力也最考驗人的一個部分。類模板作為模板體系的基石值得每個人花時間把實例化、特化、友元、繼承這些邊界都過一遍。真正掌握它的標志不是能背語法而是面對一條報錯時能在腦子里快速定位這多半是依賴類型沒寫typename還是模板實現(xiàn)沒被實例化到還是名字查找階段就出了問題。有了這個定位能力模板世界的門檻就基本被跨過了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香亚洲婷婷| 新激情五月天天在线网| 五月色天情| 色五月天婷婷| 精品人妻一区二区三区四区不卡在| 九九99久久| 高清一区二区三区日本久| 国产AV一区二区三区最新精品| 五月丁香婷婷激情视频| 五月丁香香蕉| 99@久久@99精品视频| 五月天婷婷涩涩| 五月婷婷影| 欧美欧盟性爱网| 天天天添天天操| se99视频| 丁香六月啪啪| 欧美日韩成人在线免费| 丁香女人五月天| 久久99久久99精品免观看软件 | 操b视频在线观看一区二区| 成人人操| 色噜噜,噜噜色| 五月激情另类| xxxx久| 亚洲激情婷婷| 丁香五月熟女| 色色色色色热| 丁香六月激情综合啪啪| 色久天| 五月婷三级片| 级情九色| 国产午夜一区二区三区| 色久综合| 五月婷婷日本| 热久久国产视频| 婷婷丁香五月网| AV操操操| 久久在线大香蕉| 成年AAAA色情| 五月婷婷天堂| 日韩在线视频中文字幕| 乱精品一区字幕二区| 人妻激情视频| 色日本网| 久草热久草在线视频| 色播五月丁香综合| 五月天成人在线| 另类视频一区| 99热99操| 婷婷五月激情视频| 99国产精品久久久久久久久久久| 亚洲AV成人片无码网站| 五月丁香六月激情视频| 在线免费视频caop| 激情精品久久| 五月激情六月综合| 99热免费精品| 高清无码入口| 七七久久婷婷| www色中色综合| 狠狠色婷婷| 色99欧洲色19| 五月丁香花开综合网| 香蕉综合在线| 色五月婷婷综合在线| 五月丁香六月欧美| 99精品偷自拍| tingtingjiqingwuyue| 人人草人人舔| 91色干| 天天干天天干天天干天天干天天干天天干天天| 色色色热| 亚洲中文字幕网| 天天狠狠夜夜狠狠2023| 成人精品免费在线观看| 日日懆天天懆| 九九人人精品| www.91AV.COM| 婷婷五月另类网站| 人人综合色| 五月色亭丁香| www.色五月| 婷婷五月丁香久久| 草五月| 真实的国产乱XXXX在线91| 99久久9| 天天干天天拍| 色涩影院六月丁香| 国产欧美va| 色狠狠婷婷| 亚洲婷婷开心五月| 婷婷五月花| 激情久久五月天| AV性爱网| 欧美丁香五月| 九九热最新| 九色激情| 91午夜激情| 开心五月婷婷伊人| 开心五月深爱五月丁香五月激情五月| 欧美性爱专区| 成人丁香婷婷| 午夜丁香六月婷| 九九热视频精品| 国产又色又爽又黄又免费| 五月在线婷色| 成人无码髙潮喷水A片| 99热这里只有精品10| 99久久9| 人人九色| 99久久激情视频| 99干视频| 五月天婷五月天综合网在线观| 99久在线精品99re8热| 射区导航| 婷婷伊人| 婷婷色五月综合丁香| 欧美在线干| 五月天婷婷伊人| 这里只有精品视频在线| 婷婷无码视频| 人妻22p| 成人va在线观看视频| 五月婷婷色| 婷婷99狠狠躁天天躁| www.久久99| 日本九九九九| 青草视频在线播放| 2025天天操| 九九伦子片| 思思久久99热只有频精品66| 9久9久| EEUSS鲁片一区二区三区| 亚洲色图81p| 99狠狠| 另类专区在线| 激情丁香五月| 99这里只有精品99| 久久久久亚洲AV成人无码电影| 99日本在线| 97AV在线视频| 99热热热99精品丁香| 日本在线噜噜| 成人在线综合| 亚洲丁香花色| 久久这里只有精品22| 精品成人在线| 五月婷婷丁香五月| 日本va欧美va欧美va精品| 99久久网站| 婷婷五月天影视| 欧美日韩成人h| 五月婷婷啪啪| 九九热色视频| www.婷婷久久五月天| 亚洲免费婷婷| 亚洲精品乱码久久久久久按摩观| 在线中文AV| Www.激情| 丁香五月婷婷六月婷婷| 婷久久久| 亚洲99热| 大陆肏屄视频| 久操热| 99热这里只有精品99| 九九一综合精品| 国产九月婷婷| 夜夜夜夜夜操| 思思久热| 另类小说五月天| 少妇AB又爽又紧无码网站| 婷婷五月骚厕所| 91精品国产日韩91久久久久久国模| 亚洲人妻AV| 丁香五月aV| 丁香色情五月综合激情| 欧美性丁香色色五月天干干| 日本 @ va 免费| 久久久久网站| 国产在线网| 久久99热在线观看| 五月天亚洲最大成人| 九九激情| 六月婷婷激情| 五月天激情久久| 热久久99视频| 黄色片精品| 亚洲国产精品VA在线看黑人| 久久久五月五丁香| 五月天婷a| 精品热九九| www色五月| 亚洲乱码成人| 欧美极品999| 亚洲久久天堂| 丁香九月激情| 日本美女上人| 日韩1区2区| 欧美va亚洲va| 五月婷婷中文字幕| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 久久久九九九 99| 久热久| 五月婷婷亞洲中文| 欧美美女国产日韩一区二区久| Caoub青青超碰| 五月天色社区| 9九色首页| 激情久久天天| 色婷婷五月影视| 久热精彩视频98| 天天爽天天操| 日本精品99网站| 天天干肏夜夜| 男人天堂亚洲综合| 综合另类视频| 九九爱精品网站| 色色A| 精品人妻一区二区三区四区不卡在| 激情网战码亚洲A| 九九美女视频| 超碰天堂网| 五月天播播| 人人色婷婷| 99热日本| 婷婷 激情 五月| 99热热热国产超碰| 色婷婷av综合网| 五月丁香啪啪| 色色无码| 色情五月丁香| 婷婷射图| WWW.桔色成人.COM| 天天色激情| 五月丁香啪| 在线视频99| www99精品亚| 无码少妇高潮喷水A片免费| 综合久久97| 久久99激情丁香婷婷小说网| 亚洲欧州色情在线观看| 五月婷婷免费视频| 思思综合热| 亚洲国产精品五月天| 免费国产视频| 在线观看免费狠狠色丁香香综合| 色婷婷情片| 9久热在线视频| 五月婷婷色欲| 5月丁香综合图区| 极品少妇高潮啪啪AV无码| 色人久久| 综合婷婷| 天天色宗合| 婷婷五月激情图片| 亚韩在线视频| 99人妻碰碰碰久久久久视| 79色色色色| 婷婷日日天天| 亚洲丁香五月| 天天摸色吧天天摸色吧| 婷婷五月天开心激情网| 激情深爱综合网| 日日肏夜夜干| 九九免费精品| www.婷婷五月| 96丁香六月婷婷蜜桃综合久久| 思思re99视频在线观看| www.com操| 天天干-天天日| 综合狠狠五月婷婷| 五月天婷婷乱| 久久激情五月天| 丁香五月激情婷婷| 久久婷婷五月天蜜桃| 婷婷丁香成人五月天| 毛片毛片毛片毛片| 26uuu精品一区二区| 亭亭五月色男人| 天天插天天操| 中文字幕,综合,91| 九月激情综合| 日本va欧美va国产激情| 欧美日本日韩| 色吊丝99| 激情性爱网站| 婷婷综合97| 成人五月丁香社区| 99久久这里只有精品免费官网| 狠狠做六月爱婷婷综合aⅴ| 全亚洲最大的婷婷五月天网站COM| 涩五月婷婷| 只有精品视频在线观看| 天天添天天摸天天天天做| 成人精品99| 夜夜操夜夜操| 五月丁香婷婷啪啪| 久久五月婷6 9| 九月婷婷在线视频| 丁香六月婷婷激情| 久久婷婷五月综合色天| 97人人搞| 日本va欧美va精品发布视频 | 久久99激情丁香婷婷小说网| 国产.亚洲.欧洲视频在线| 综合久久影院| 精品夜夜澡人妻无码AV| 99国产97在线,| 操人视频91| 激情婷婷丁香五月天| 欧美成性色| 插插五月天| 久久机热/这里只有精品| 五月花综合视频| 久热亚洲| 丁香五月成人| 老师把我爽高潮了免费A片| 91婷色| 玖玖99福利| 丁香婷婷色五月合集| 五月天桃色深爱网| 亚洲午夜AV| 亲子乱AV-区二区三区| 久草丁香婷婷五月天婷| 99久久久国产大片区| 内射丰满人妻| 丁香五月综合激情性爱 | 色激情五月天| www久久久久久久| site:pnnrt.com| 精品久久穴| 99热99| 久久综合婷婷| 欧美日韩AAA| 亚洲六月色婷婷| 99热99色| 五月天久久小说| 人人操人人妻| 五月停亭六月,六月停亭的英语| 五月丁香婷色| 亚洲啪啪网| 五月综合视频| 日韩黄色电影| 五月丁香综合伦理片| 26uuu精品一区二区| 六月激情婷婷| 一本九九色| 久久五月婷婷电影| 天天狠天天叉| 国产肥白大熟妇BBBB视频| 午夜色丁香| 日本综合九九| 久碰婷婷视频| 天天看夜夜看| 久久丁香五月天| 色婷婷四虎| 久碰视频| 五月综合色| 亚洲乱码精品久久久久.. | www.色婷婷| 丰滿爆乳一区二区三区| 五月婷婷与六月丁香图片激情| 丁香五月婷婷天| 五月丁香999| 九九色插| 五月丁香久久久日婷婷久久婷婷日| 播五月,色五月,开心五月播放器| 免费无码毛片一区二区A片| 婷婷五月天激情电影| 天天摸天天高潮天天爽| 99久视频| 色五月色五天色情网| 丁香五月婷婷色播艳门照| 色色色综合网| 六月婷婷七月丁香| 激情五月狠狠| 97超碰,人人舔,人人操,人人摸 | 深爱激情九九五月天 | 综合激情五月综合激情五月激情1| 亚洲婷婷欧美婷婷| 久久人人添人人爽添人人片αV| 在线色色| 欧美视频五区| 九九综合图片网| 久9久9热久热| 91综合色| 婷婷丁香五月激情密臀av| 丁香色播五月天| 超碰99在线观看| 亚洲免费视频网站| 国产婷婷五月在线视频| av首页在线| 一根材五月婷成人| 丁香五月久久| 久久机热这里只有精品免费视频| 五月色婷| 91成人视频| 婷婷五月天亚洲| 色综啪啪网| 色五月成人婷婷| 九九九九国产| 国产在线黄色| 丁香婷婷六月天| 91热手机在线| 五月丁香婷婷基地| 亚洲国产网站| 国产成人亚洲综合A∨婷婷| 色啪久| 夜夜操夜夜姧| 噼里啪啦完整版中文在线观看| 色婷婷黄色网络| 欧美色频| 天堂久久婷婷| 色私五月婷婷| 六月丁香停| 五月天色婷婷综合| 成人在线高清| 九九激情| 久人操| 日本成人噜噜噜| 狠狠干狠狠操狠狠爱| 亚洲色 视频| 久久久久久久久月丁| 能看的AV网站| 狠狠婷婷日韩| 欧洲亚洲精品| 中文字幕激情综合| 无码人妻激情| 五月丁香久久| 91精品综合久久久久久五月丁香| 婷婷五月天六月综合| 91蜜桃婷婷狠狠久久综合9色| 另类色视频| 五月婷婷久久综合| 五月色婷婷影视在线电影| 婷婷五月天伊人| 日本色婷婷综合| 国精产品一区一区三区免费视频| 色色色色色色97| 草草色情综合网| 999热成人在线综合网| 色啦啦视频| 五月天久久丁香| 九一牛视频探花| 婷婷激情视频欧美视频自拍视频欧美剧 | 亚洲国产色色| 婷婷五月天AV在| 色播五月综合网| 亚洲成人在线免费| 日本99视频| 色婷婷丁香五月丁香| 任你躁XXXXX麻豆精品| 色天天综合成人网| 99丁香五月婷婷在线| 99热网址| 久久视这里只有精品| 五月天激情国产综合婷婷婷| 色播丁香婷婷五月激情| 婷婷丁香社区| 伊人91| 欧美激情五月天在线观看| Blackedraw视频一区二区| 99国产性感视频| 狠狠久久婷| 九九热re99re6在线精品| 久久精品婷婷| 性综合网| 婷婷爱在线观看| 激情五月天网站| 草做免费在线观看| 色婷婷免费观看| 丝袜大香蕉| 激情色情五月天| 国产午夜精品一区二区| a在线观看| www,五月天激情| 91疯狂操操操操| 婷婷社区五月天| 狠狠狠狠狠草| 色五月超碰| 人人摸人人干| 噜噜狠狠色| 婷婷爱在线观看| 啪啪小说五月天| 婷婷五月丁香综合激情| 国产精品扒开腿做爽爽爽A片唱戏 青青草国产亚洲精品久久 | 天天草天天爱| 免费超碰在线| 久久婷婷热| 五月天播播综合| 日本大逼91| 久热九九| 丁香六月婷婷姐网| 国产成人网址| 久久日本wwww色| 亚洲综合色色| 精品皮股午夜AV| 91凹凸在线| 香蕉AV福利精品导航| 97色色色色色| 成人做爰A片免费看网站找不到了| 99热有精品在线观看| 激情都市丁香婷婷| 丁香婷五月天| 手机旧版看人妻1025| 色婷婷亚洲婷婷| 婷婷性爱五月天| 久久色频| 婷婷色在线视频| http://www.com久久久精品一区| 9久精品视频| 久久久精品人妻录| 五月丁香久久综合| 久久久久亚洲AV无码网影音先锋| 69精品人人人人人人人人人| 亚洲五月婷婷| 99热亚洲精品| 婷婷成人在线| 丁香婷婷六月天| 天天色2017| 婷婷色综合| 九九色热| 狠狠综合色网| 一本道在线电影| 五月丁香六月色| 26UUU精品一区二区Com| 激情综合啪啪啪| 99久久亚洲国产| 五月天丁香| 色99在线观看| 这里只有精品免费| 俺去也在线官网| 五月丁香啪啪婷婷| 激情久久婷婷| 91丨九色丨首页| 丁香五月天堂网| 久久婷婷色综合| 天天综合社区| 五月婷婷婷婷婷婷艺术| 亚洲小说五月婷婷| 久99视频| 超碰在线9| 久久久久久久五月| 亚洲国产精品VA在线看黑人| 99热这里精品| 91超碰九色| 亚洲九九视频| 色色色.COM| 亚洲女婷婷五月基地综合久久久| 婷婷五月天激情网址| 91黄操| 久热伊人9| 97日本操| 狠狠插.com| 99精品久久| 人妻人人操| 天天操综合网| 六月婷婷在线视频| 天天综合社区| 天天操天天日天天操| 丁香五月六月婷婷自拍| 婷激情五月天视频导航| 婷婷操逼| 丁香六月啪| 亚洲av日韩无码| caopeng97人人| 国产av第一专区| 色色色五月天婷婷| 久久A极片| 欧美成人精品A片免费一区99| 99色色网| 狠狠干,狠狠操| 99热色精品| 五月丁香五月综合欧美| 五月亭亭开心网| 婷婷久久综合久| 婷婷综合五月天| 久久激情五月天| 99九无网码| 丁香六月五月天| 99热这里只有精彩| 色婷婷五月天激情在线观看| 日欧大屏操| 色色色色热| 色偷偷综合| 99精品免费| 99热免费| 色色五月天丁香| 久久总和99| 97视频91| 99热亚洲| 内射在线CHINESE| 超碰在线网站9| 天天日日| 五月天大香蕉AV| 色婷婷最新域名| 另类丁香综合| 激情啪啪五月| 午夜丁香| 色六月丁香婷婷狠狠干| 久久精彩视频99| 天天色天天色天天色天天色天天色| 丁香美女主播视频在线观看| 狠狠草在线观看| 亚洲精品视频电影| 色五月激情五月| 99精品无码| 91av传媒高清在线视频网| 思思热99er| 涩五月丝袜婷婷| 婷婷99狠狠躁天天躁中文| 91干在线| 人人爽在线视频综合网| 婷婷色五月天综合网| 99热的无码| 天天日综合| 99A级片| 51国精产品自偷自偷综合| 五月天激情小说| 教师性爱毛片| 婷婷激情六月综合| 狠狠色狠狠干| 五月网网站| 日本色色网站| 99热最新网址| 色综合久久之分久久| 亚洲成人av在线观看 | 激情婷婷色色| 丁香色情五月综合激情| 99热只有精品在线观看| 欧美 日韩 成人| 日韩aaa| 小香蕉av| 啪啪黄页网| 开心 五月 综合| 开心五月综合| 97资源欧美日韩大香蕉超碰一区| 蜜桃人妻无码AV天堂三区 | 99色干| 婷婷97狠狠成人网站| 九九色黄色| 激情久久肏屄视频| 日韩成人精品一区久久久久| 色色亚洲视频| 亚洲高清在线| 99热日本精品| 成人va在线观看视频| 婷婷五月天亚洲丁香| 色五月综合在线| 99久久激情视频| 欧美熟女视频 色婷婷| 久超超碰| 99热这里只有精品1998| 六月婷婷激情图片| 果冻传媒A片一二三区| 五月婷婷激情性爱| 丁香六月婷婷色XXXX| 国产97色在线 | 日韩| 国产成人精品亚洲线观看| 婷婷成人在线| 日日婷婷不卡| 影音先锋一区二区三区| 九九综合色| 色婷婷精品视频| 五月丁香999| xx久久| 大香蕉 婷婷| www.99久久久| 丁香五月婷综合网| 99视频自拍| 在线99精品| 亚洲综合丁香婷婷六月天| 91成人电影| 67久久| 精品九九在线观看视频| 五月天偷拍| 丁香激情五月天| 99精品超在线播放| 色射婷婷五月天| 99热手机在线精品| 激情综合色婷婷啪啪六月天| 婷婷五月免费在线| 亚洲婷婷五月天| 91精品综合久久久久久五月天| 欧洲亚洲免费视频区| 成人丁香色| 色爱爱综合网| 五月天自拍网| 99热精品中文字幕| 一本色道久久88加勒比—| 激情五月婷婷伊人| 26uuu成人网| 182TV亚洲| 天天爽免费视频| 777精品久无码人妻蜜桃| 成人在线网| 色婷婷六月| 久月久在线视频| 第2色五月婷| WWW久久久| 九月激情综合婷婷| 99在线精品视频免费观看20| 亚洲V国产V欧美V久久久久久| 色婷婷视频| 伊人玖玖精品| 九九九九九九毛片| 丁香婷婷婷五月| 天堂婷婷综合| 爱草视频在线观看| www99热| 91久久九久久九久久九久久九久久 | 五月丁香六月婷婷综合网缴情| 国产精产国品一二三在观看| 婷婷激情伍月网| 我爱大香蕉| 婷婷久久五月天丁香| 5五月综合网亚洲| 九九成年视频| 五月天激情亚洲| 91久女| 99视频这里只有久久精品| 99激情| 亚洲国产精品成人免费一区久久久在线观看AAAA | 婷婷娌伦网| 我想看国产大学生口爆吞精的视频| 99人人操人人摸| 极品人妻VIDEOSSS人妻| 狠狠干总合| 99精品无码| 日韩人妻无码专区| 大香蕉520| 99啪啪视频| 4399成人黄A片| 黄网免费看| 大香蕉五月丁香| 六月丁香婷婷色狠狠久久| 五月丁香六月激情视频| 大香AV| 九九无码| 人妻久久婷婷| 天天肏视频| 精品人人操| 91狠狠色丁香婷婷综合久久| www.日本久久videos| 色色性爱视频| 激情深爱婷婷网| 亚洲色色色| 呦呦v线| 狠狠色 综合色区| 国产精品视频久久99| 婷婷干| 天天爽天天摸天天爱| 亚洲AV永久无码影院黑人| 操逼123网| 超碰在线免费观看3 9| 操操操AV| 久久久欧美精品sm网站| 色五月色五天色情网| 狠狠操狠狠爱| 五月天丁香| 天天拍久久| 久久久.www| 思思热在线| 9l视频自拍九色9l视频自拍九色9l社区 | 丁香五月激情婷婷视频| 成人精品在线观看| 丁香婷婷五色月| 婷婷五月综合基地| 国产.亚洲.欧洲视频在线| 日本九九网| 久久激情五月| 五月六月激情婷婷| 久久男人网婷婷| 婷婷综合成人| 九九碰九九爱97超碰| 开心五月婷婷| 99热这里只有精品最新网址| 狠狠色色综合| 噜噜视频| 日撸夜撸日操| 日本A片一区| 狠狠干综合网| 五月丁香五月丁香| 色色网站日本91| 婷婷五月天激情网| 97碰在线视频| 午夜天堂一区人妻| 五月亭亭性| 在线99热| 婷婷五月天99综合网站| 人人色婷婷| 五月丁香另类图片| 51精品国自产在线| www.狠狠操| 99视频这里只有免费精品| 东京热五月婷婷| 日日日日日| 五月婷婷丁香深深爱| 久久人人添人人爽添人人片αV | 亚洲欧美成人在线| 热思思九九| 999久久久国产精品| 看黄的网站18禁| 六月婷欧美丁香综合| 激情欧美五月丁香| jiujiu热在线视频| 丁香五月色情av| 丁香五月天网站| 人妻肉射免费观看| 成人丁香色| 国产乱子轮XXX农村| 六九色综合婷婷五月天| 天天搞夜夜叫| 激情综合网激情五月婷婷| 色婷婷亚洲婷婷| 天堂婷婷五月色| 密臀av无码人妻精品| 久久激情五月| 十一月婷婷激情四射| 亚洲综合新99视频| 海外网站专业操老外| 丁香激情五月天| 亚洲视频伍月婷婷| 99色区| 玖玖综合玖玖| 这里只有精品视频在线看| 99九色视频在线观看| 操97在线观看| 婷婷五月天成人| 天天干夜夜想| site:esunnet.com| 丁香五月成人丝袜| 粉嫩AV久久一区二区三区| 99a级片| 九玖欧洲亚洲| 色色婷婷五月| 天天肏天天肏| 欧美激情综合五月色丁香| 久久五月激情| 天天做天天爱天天要| 色色色色色色色色五月先| 久久综合五月天激情小说网站| 日韩九区| 激情丁香五月天图片| 丁香六月av| 伊久久婷婷| 99精品综合在线| 91操人| 96精品久久久久久久久| 丁香五月天网友自拍啪啪啪视频| 丁香婷婷五月激情综合| 色五月婷婷操逼| 婷婷丁香精品视频在线观看| 国产成人网址| 超碰成人电影| 天天做天天爱天天爽| 五月丁香欧美| 久久只有精品| 色婷久久| 操比激情五月综合| 激情AV网| 色色国产| 四虎成人精品永久免费AV九九| 婷婷夜夜操| 日韩色色小视频| 99热在线资源| 日本色色影院| 青青草轻轻操| 成人五月天视频播放| 天天在线久久综合| 亚洲国产精品五月天| 人人人操| 丁香久月| 婷婷五月丁香激情图片| 天天草女人| 五月婷婷丁香| 天天色视频| 91婷婷丁香| 五月婷婷丁香| 色婷婷五月天小说| 天天成人综合视频| 色欲丁香久久| 成人婷婷桔色| 超碰操网| 色狠狠综合网| 中文字幕综合| 丁香五月网| 热久91| 1024成人免费看| 婷婷视频在线| 一二线视频 另类| 99热久久这里只有精品| 五月天激情综合| 婷婷丁香人妻天天爽| 4438激情网| 中文字幕成人影视| 激情久久丁香| 五月天激情小说| 丁香五月婷婷AV在线| 激情五月天 婷婷| 天天日,天天干,天天操| 五月婷婷,六月丁香| 激情五月丁香六月综合AVXXXX| 思思久久青草热| 一区二区三区四区五区| 色亚洲视频| 激情五月综合免费| 中文不卡一二三区| 久久 这里只有精品1| 人妻videos人妻高清| 五月丁香狠狠爱婷婷综合| 七七九九色色| 亚洲天天免费| 激情五月婷婷在线区| 五五月五月| 综合久久五月| 亚洲bt丁香五月天婷婷激情小说| 久久性爱视频这里只有精品| 五月欧美色色五月| 色婷婷丁香五月色综合网| 玖玖资源天天无码| 五月丁香婷婷三级| 日日夜夜久| 天天综合精品| 九九99免费理论| 天天干天天干天天干天天干天天干| 亚洲综合五月天婷婷| 国产激情久久久| 日韩成人无码| 中文字幕操比影片| 色色网91| 久9热视频在线观看| 久久99精品九九久久久婷婷| 五月天色色激情综合| 亚州欧美国产久精国产99综合视频| 美女婷婷六月色| 国产精品蜜臀99| 色播激情五月天| 激情网五月天| av九九| 婷婷九月| 99热午夜精品| 激情婷婷九月| 久久9视频| 丁香五月亚洲激情婷婷射| 婷婷久久国产视频| 婷婷综合六月| 五月丁香六月色| 97色色色色色| 99热这里是精品| 69热91天堂| 九九热青青草| VA色婷婷| 欧美噜噜噜草| 久久人妻情侣| 人妻自慰高清合集| 97色在线观看视频| 99精品网| 激情综合网激情五月俺也去| 99精品偷拍视频| 99热偷拍| 天天舔天天插天天爱| 99re思思热这里| 五日激情综合| 99精品网| 久久丁香婷| 97操碰视频| 五月激情开心婷婷| 六月婷婷开心| 色五月丁香五月| 97操资源婷婷| 人人摸人人操人人爽| 五月情四婷婷| 深爱婷婷网| 六月丁香五月婷婷| 91在线精品一区二区| 久操综合| 另类国产综合| 色5月婷婷色| 国产欧美精品AAAAAA片| 伊人久久大香线蕉AV最新午夜| 亚洲色婷婷| 五月婷婷综合潮喷| 激情九月婷婷| 操日本99| 色婷婷色99国产综合精品| 99热日本| 超碰不卡在线| 成人综合网站| 五月天婷综合| 五月丁香综合啪啪| 五月综合激情视频| 色色操| 五月丁香婷婷钟和色图| 色狠狠综合| 狠狠激情五月天| 天天做天天爱| 99热久97| 婷婷天天综合| 日韩无码色色| 五月天怕怕| 色播五月丁香综合| 久草天堂| 丁香婷婷久久综合在线| 天天综合亚洲综合网天天αⅴ| 天天色天天日| 色五月丁香五| 99操逼视频| 日韩色色视频www| 人人播| 色五月婷婷青娱乐| 69午夜成人影片| 99热老司机| 97se在线视频| 九九av| 久久五月天婷婷| 国产在线aaa片一区二区99| 久久五月婷综合网| 综合xx网| 五月天久久婷婷| 99精品综合在线| 婷婷五月成人有| 久久9热| 日本久久久97| 六月丁香五月激情亚洲AV| 欧美色频| 99视频在线9| 亚洲无码成人网| 月婷婷婷婷五月| 无码少妇高潮喷水A片免费| 久99视频在线观看| 欧美成人网99网| 无码人妻AV久久久一区二区三区 | 婷婷激情五月视频| 激情纯色婷婷五月天在线不卡视频| 婷婷伊人久久| www.ywav| 五月婷婷色男女| 大香蕉520| 色婷婷91| 99九九视屏| 丁香婷婷大香蕉| 亚洲av成人在线| 色五月婷婷一二| 日本在线播放97| 婷婷在线五月天观看| 午夜大香蕉| 丁香五月婷婷偷拍| 日本人人xxx| 超碰九热| 丁香花五月天| 67194国产| 婷婷五月激情综合| 丁香五月六月| 婷婷六月久久| 久久婷婷五月天激情唯美| 五月天婷婷色| 精品久久9| 毛片网站谁有| 国产精品成人AV在线| 果冻传媒A片一二三区| 情情五月天色| 九九人人操| 人妻操逼视频。| 大香蕉啪啪| 五月丁香综合在线| 五月丁香六月激情综合| 97性高潮久久久| 亚洲 无码 中文字幕 中出| 狠狠狠狠狠| 激情美女五月天| 色五月婷婷老师| 婷婷色婷婷| 中文字幕 中文字幕明步| 九九色情网五月天 | www久久艹| 99视频只有精品| 久久日九九| 99热这里只有精品1| 变天就操逼婷婷五月| 五月亭亭综合五码| 亚洲丁香五冃97色| 五月天精品综合在线| 2025神马午夜福利| 婷婷爱婷婷| 99在线精品免费视频| 天天草天天舔| 中文字幕免费高清电视剧| 丁香五月婷婷动漫视频| 精品夜夜澡人妻无码AV| 五月天天天开心激情网| 成人国产欧美大片一区| 一本道综合网| 色五月,com| 人人视频色| 97在线日韩| 色五月中文网| 九月av| 久久资源网五月婷| 婷婷亚洲影院| 天天色亚洲| 日本美女天天日天天爽| 色欲色欲久久宗合网| 婷婷五月另类网站| 婷婷五月丁香花综合| 婷婷91| 日韩抽插操逼| 婷婷丁香激情五月天色色色| 欧美草久久五月天91| 色五月中文字幕| 亚洲AV综合在线观看| 久久这里只精品66| 国产黄大片在线观看画质优化 | 91丨九色丨熟女|老版| 丁香五月婷婷影院| 五月激情丁香五月宗合| 四色五月婷婷| 超碰高清在线| 五月婷婷深深的爱| 国产,欧美,学生妹,视频| 99性视频| 亚洲综合视频在线| 婷婷色综合| 久久精品视频9| WWW,五月| 99热综合| 99热这里只有精品在线播放| 99干99| 久久婷婷六月综合综合| 操丝袜视频影院导航| 视频久久9| 色综合激情| 久久机热这里只有| av成人在线播放| 婷婷在线播放| 国产另类综合| 激情丁香六月| 少妇真实被内射视频三四区| 丁香五月Av| 色性综合| 久热精品免费视频4| 欧美日韩成人在线网| 影音先锋xfplay资源男人网| 欧美日韩国产一二区| 超碰人人艹| 超碰精品手机在线| 久久思思99| 色噜噜狠狠色综无码久久合欧美| 五月婷婷婷婷网| 亚洲人妻av| 999热视频精品99免费在线| 久热 91| 五月天婷婷色小说| 爆乳熟女一区二区三区爆乳| 丁香五月激情婷婷| 碰碰91| 99色爱| 精品成人在线观看| 色五月婷婷视频| 91九色在线视频| 天天射网站| 亚洲激情综| 国产精品色色色色| 亚洲综合视频网| 婷婷激情五月呦呦| 99热国产精品| 激情九九综合网| 国产成人网站在线观看| 操精品9| www.婷婷五月| 婷婷五月丁香基地| 人人操Av| 日韩色色一区| 亚洲日本韩国| 9精品在线| 乱色色色| 日韩色色小视频| 超碰国产AV| 免费观看全黄做爰的视频| aa久久| 成人超碰Av| 五月丁香爱婷婷深深| 欧美亚洲成人在线| 少妇高潮呻吟A片免费看软件| 99久热在线精品| 五月激情婷婷六月| 99久热这里有精品| AV无码免费| 丁香狠狠色婷婷久久无码视频| 五月婷婷激情综合| 这里只有精品视频| 五月丁香婷庭在线| 九月丁香婷婷综合激情| 14色综合婷婷| 色婷婷aV四虎| 欧美精品99久久久| 97精品在线| 99国产视频网| 日日噜噜久久婷婷五月天 | 欧美97色| 九九色综合九九色| 深爱开心激情网| 激情九月综合| 大香蕉娱乐| 四季8848精品成人免费网站| 亚洲操B| 六月丁香网| 婷婷五亚洲| 日韩无码人妻一区二区三区综合 | 日韩1区2区| 79色色免费| 思思久ren热| 99性视频| 色爽九九| 丁香五月天亚洲综合| 人人色人人弄人人操| 天天日夜夜| 欧美日韩999| 国产激情在线| 久机视频这只有精品| 亚洲五月情| 五月激情婷婷色| 五月丁香综合啪啪啪啪啪| 五月婷精品| 九热久| 丁香五月婷婷99| 四季日韩AV无码综合| 激情网 久久| 欧美精品中文字幕亚洲专区| 人妻精品一区二区三区| 在线另类视频| 五月久久婷婷天堂视频| 丁香六月婷婷综合欧美| 色性日本| 天天插天天干天天舔| 欧美日韓成人亚洲精品另类| 99无码视频| 91玖玖| 日本高清久| 日韩在线观看亚洲| 任你搞在线观看视频| 5Www色5夜| 天堂美国久久| 大香伊人久色| 激情婷婷丁香| 尤物一区二区| 欧美大片免费观看| 四川BBB搡BBB搡多人乱亂| 国产亚洲精品久久久久久豆腐| 色综合婷婷| 狠狠干狠狠干| 五月花婷婷| 天天干天天干天天干| 精品人妻伦一二三区久久| AV性爱网| 丁香婷婷六月| 久久婷婷热| 色婷婷丁香五月| 日本猛少妇色XXXXX猛叫| 91狠狠综合久久久久久| 婷婷五月成人| 亚洲中文字幕在线观看| 精品无码久久久久久久久| 中文字幕丰满孑伦无码专区| 97夫妻超碰|