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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

智能指针学习笔记

發布時間:2023/11/30 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 智能指针学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載:http://www.cnblogs.com/wuchanming/p/4411878.html

1. 介紹

本文介紹智能指針的使用。智能指針是c++ 中管理資源的一種方式,用智能指針管理資源,不必擔心資源泄露,將c++ 程序員 從指針和內存管理中解脫出來,再者,這也是c++發展的趨勢(這話不是我說的,見《Effective c++》和《c++實踐編程》),應該認真學習一下。

智能指針中,最有名的應該數auto_ptr,該智能指針已經被納入標準庫,只需要包含<memory>頭文件即可以使用,另外,TR1文檔定義的shared_ptr和weak_ptr也已經實現(我用的gcc版本是gcc 4.6.1),它們的頭文件是<tr1/memory>?。除此之外,還有幾個好用的智能指針,不過它們屬于boost庫,不屬于STL ,所以,用不用得到,根據自己的需要。不過,了解一下總無妨,正所謂"功不唐捐"嘛。

下面分別介紹auto_ptr,scoped_ptr,scoped_array,shared_ptr,shared_array, weak_ptr 和 intrusive_ptr 。

2. auto_ptr

2.1 為什么要用智能指針

在介紹第一個智能指針之前,先介紹下為什么要使用智能指針。先看下面這個函數:

void f() { classA* ptr = new classA; // create an object explicitly ... // perform some operations delete ptr; // clean up(destory the object explicitly) }

這個函數是一系列麻煩的根源,一個顯而易見的問題是,我們經常忘了delete 動作,特別是當函數中間存在return 語句時更是如此。然而,真正的麻煩發生于更隱晦之處,那就是當異常發生時,我們所要面對的災難,異常一旦出現,函數將立刻退離,根本不會調用函數尾端的delete 語句。結果可能是內存遺失。防止這種資源遺失的常見辦法就是捕捉所有異常,例如:

void f() { classA* ptr = new classA; // create an object explicitly try{ ... // perform some operations } catch(...){ delete ptr; //-clean up throw;//-rethrow the exception } delete ptr; // clean up(destory the object explicitly) }

你看,為了異常發生時處理對象的刪除工作,程序代碼變得多么復雜和累贅!如果還有第二個對象,如果還需要更多的catch 子句,那么簡直是一場惡夢。這不是優良的編程風格,復雜而且容易出錯,必須盡力避免。

如果使用智能指針,情況就會大不相同了。這個智能指針應該保證,無論在何種情形下,只要自己被摧毀,就一定要連帶釋放其所指資源。而由于智能型指針本身就是局部變量,所以無論是正常退出還是異常退出,只要函數退出,它就一定會被銷毀。auto_ptr正是這種只能型指針。

2.2 auto_ptr

auto_ptr 是這樣一種指針:它是"它所指向的對象"的擁有者,所以,當身為對象擁有者的auto_ptr 被摧毀時,該對象也將遭到摧毀。auto_ptr 要求一個對象只能有一個擁有者,嚴禁一物二主。更詳細的說,?auto_ptr 管理的資源必須絕對沒有一個以上的auto_ptr 同時指向它。?這是因為資源的擁有者在銷毀的時候,會銷毀它所擁有的資源,資源不能釋放兩次,如果同時有兩個auto_ptr擁有同一個資源,那么,在第一個auto_ptr銷毀以后,第二個auto_ptr就成為野指針了,所以,任何時刻,一個資源只有一個擁有者

下面是上例改寫后的版本:

#include <iostream> #include <memory> using namespace std; void f() { //create and initialize an auto_ptr std::auto_ptr<classA> ptr(new classA); ... //perform some operations }

不需要delete ,也不再需要catch 了。auto_ptr 的接口與一般指針非常相似:operator *用來提取其所指對象,operator-> 用來指向對象中的成員。然而,所有指針算法(包括++在內)都沒有定義。

注意,auto_ptr< >允許你使用一般指針慣用的賦值(assign)初始化方式。必須直接使用數值來完成除始化:

std::auto_ptr<classA> ptr1(new classA); //OK std::auto_ptr<classA> ptr2 = new classA;//ERROR

有了上面兩條語句,那么下面的問題就很顯然了。

std::auto_ptr<classA> ptr; // create an auto_ptr ptr = new classA; // ERROR ptr = std::auto_ptr<classA>(new classA); // ok, delete old object and own new

2.3 auto_ptr 擁有權的轉移

上面提到過,絕對沒有一個以上的auto_ptr同時指向同一個資源,那么,如果你復制(或賦值)一個auto_ptr指針會發生什么呢?發生擁有權轉移,如下所示:

//initizlize an auto_ptr with a new object std::auto_ptr<classA> ptr1(new classA); //copy the auto_ptr std::auto_ptr<classA> ptr2(ptr1);

在第一個語句中,ptr擁有了那個new 出來的對象。在第二個語句中,擁有權由ptr1 轉移到ptr2,此后,ptr2擁有那個對象,ptr1則是一個空指針。

同理,賦值動作也會發生擁有權的轉移。

//initizlize an auto_ptr with a new object std::auto_ptr<classA> ptr1(new classA); //copy the auto_ptr std::auto_ptr<classA> ptr2; ptr2 = ptr1;

在上面的語句中,如果ptr2已經擁有一個對象,則,賦值動作發生時,會調用delete,將該對象刪除。

因為auto_ptr 會發生擁有權轉移問題,所以,不能完全像使用普通指針一樣使用auto_ptr ,下面這個錯誤的用法演示的auto_ptr 的特性。

//this is a bad example template <class T> void bad_print(std::auto_ptr<T> p)//p gets ownership of passed argument { //does p own an object? if (p.get() == NULL) { std::cout << "NULL"; } else { std::cout << *p; } //Oops,exiting delete the object to which p refers } int main(int argc, char const* argv[]) { std::auto_ptr<int> p(new int); *p = 42; // change value to which p refers bad_print(p); // Oops,deletes the memory to which p refers *p = 18; // RUNTIME ERROR return 0; }

我們只是想通過print函數,打印對象的值,可是,卻不小心把對象給銷毀了,這是非常低級的錯誤,再多用幾次auto_ptr 以后,就不會出現這種情況了。如果我們不是通過傳值,而是通過傳遞一個引用會怎么樣呢?可以這么做,可是,你得非常小心,千萬別在調用的函數里面將資源的擁有權轉移了。正確的用法應該聲明指針常量,如下所示:

const std::auto_ptr<int>p(new int); *p = 42 // change value to which p refers bad_print(p); // COMPILE-TIME ERROR *p = 18; // OK

注意,auto_ptr 是一個指針,const auto_ptr 要表達的意思是"指針常量,指針不可指向其他資源,但是指針所指之物可以修改",而不是指向常量的指針。所以,const auto_ptr 類似于?T* const p而不是指向常量的指針const T* p?。下面是一個使用auto_ptr 指針的完整示例:

#include <iostream> #include <memory> using namespace std; //define output operator for auto_ptr //-print object value or NULL template<class T> ostream& operator<< (ostream &strm, const auto_ptr<T> &p) { //does p own an object ? if (p.get() == NULL) { strm << "NULL"; } else { strm << *p; } return strm; } int main(int argc, char* argv[]) { auto_ptr<int> p(new int(42)); auto_ptr<int> q; cout << "after initizlization:" << endl; cout << "p : " << p << endl; cout << "q : " << q << endl; q = p; cout << "after assigning auto pointers:" << endl; cout << "p : " << p << endl; cout << "q : " << q << endl; *q += 13; p = q; cout << "after change and reassignment" << endl; cout << "p : " << p << endl; cout << "q : " << q << endl; return 0; }

輸出結果如下:

after initizlization: p : 42 q : NULL after assigning auto pointers: p : NULL q : 42 after change and reassignment p : 55 q : NULL

2.4 auto_ptr 注意事項

  • auto_ptr(以及后面介紹的std::tr1::shared_ptr) 在其析構函數內做delete,而不是delete[]動作,那意味著在動態分配而得到的array上使用auto_ptr(或tr1::shared_ptr)是一個餿主意。但是,這樣的代碼是可以通過編譯的,所以需要用戶自己留心。下面的代碼就會出現用new []分配資源,用delete而不是delete[] 釋放資源一樣的問題。

    std::auto_ptr<std::string> aps(new std::string[10]);//資源泄漏 std::tr1::shared_ptr<int> spi(new int[1024]); //資源泄漏
  • 標準容器需要元素具有可復制和可賦值的特性,而復制和賦值操作會使auto_ptr 發生所有權轉移,所以,auto_ptr 不能存放在容器中

  • 3. scoped_ptr

    有了上面對auto_ptr 的解釋,理解scoped_ptr 就沒有什么難度了。scoped_ptr 的名字向讀者傳遞了明確的信息,這個智能指針只能在本作用域中使用,不希望被轉讓。 scoped_ptr 通過將拷貝構造函數和operator= 函數聲明為私有,以此阻止智能指針的復制,也就關閉了所有權轉移的大門

    scoped_ptr 的用法與auto_ptr 幾乎一樣,大多數情況下它可以與auto_ptr 相互替換,它也可用從一個auto_ptr 獲得指針的管理權(同時,auto_ptr 失去管理權)

    scoped_ptr 也具有與auto_ptr 同樣的"缺陷"——不能用作容器的元素,但原因不同,auto_ptr 是因為它的轉移語義,而scoped_ptr 則是因為不支持拷貝和賦值,不符合容器對元素類型的基本要求

    下面的代碼演示了scoped_ptr 與auto_ptr 的區別。

    auto_ptr<int> ap(new int(10)); // 一個auto_ptr<int> scoped_ptr<int> sp(ap); // 從auto_ptr 獲得原始指針 assert(ap.get() == 0); // 原auto_ptr 不再擁有指針 ap.reset(new int(20)); // auto_ptr 擁有新的指針 cout << *ap << "," << *sp << endl; auto_ptr<int> ap2; ap2 = ap; // ap2 從ap 獲得原始指針,發生所有權轉移 assert(ap.get() == 0); // ap 不再擁有指針 scoped_ptr<int> sp2; // 另一個scoped_ptr sp2 = sp; // 賦值操作,無法通過編譯

    比起auto_ptr ,scoped_ptr 更明確的表達了代碼原始編寫者的意圖:只能在定義的作用域內使用,不可轉讓。

    4. scoped_array

    scoped_array 與scoped_ptr 沒什么區別,主要區別就是用 new[] 分配資源,用 delete [] 釋放資源,而scoped_ptr 用new 分配資源,用delete 釋放資源。用法如下:

    #include <iostream> #include <algorithm> #include <iterator> #include <boost/smart_ptr.hpp> using namespace std; using namespace boost; int main(int argc, char* argv[]) { int *arr = new int[100]; //動態分配資源 scoped_array<int> sa(arr);//用scoped_array 對象代理原始動態數組 //scoped_array<int> sa( new int[100]); fill_n(&sa[0], 100, 5); sa[10] = sa[20] + sa[30];//像普通數組一樣使用 cout << sa[10] << "\t" << sa[20] << endl; return 0;//在作用域最后,自動釋放資源 }

    scoped_array 與 scoped_ptr 接口和功能幾乎一樣,主要區別如下:

  • 構造函數接受的指針p 必須是new [] 的結果,而不能是new 表達式的結果。
  • 沒有* , -> 操作符重載,因為scoped_array 持有的不是一個普通指針
  • 析構函數使用delete []釋放資源,而不是delete
  • 提供operator[] 操作符重載,可以像普通數組一樣使用下標訪問元素
  • 沒有begin() end() 等類似容器的迭代器
  • 上面這個例子,可以很方便的使用vector代替,《Boost 程序庫開發指南》的作者并不推薦使用scoped_array。

    5. shared_ptr

    5.1 shared_ptr 介紹

    上面已經介紹了3種智能指針,如果按照重要程度排序,auto_ptr 是最重要的,其次應該算shared_ptr 了,shared_ptr 已經被納入標準庫了,用gcc 的用戶只需要#include<tr1/memory>用visual studio 08/10 的用戶通過加入頭文件#include<memory>即可。

    shared_ptr 是一個最像指針的"智能指針",它實現了引用計數的功能,所以,指針可以隨意復制,在函數間傳遞,或者存儲在容器里面

    shared_ptr 還有兩個特有的成員函數,分別是:

  • unique() 用于檢查指針是否唯一的,如果是唯一的,就相當于auto_ptr
  • use_count() 返回當前指針的引用計數,use_count() 不提供高效率的操作,所以,use_count() 應該僅僅用于測試或者調試。
  • 下面看看shared_ptr 的用法:

    #include <iostream> #include <tr1/memory> #include <assert.h> using namespace std; int main(int argc, char* argv[]) { std::tr1::shared_ptr<int> sp( new int(10));//一個指向整數的shared_ptr assert( sp.unique());//現在shared_ptr 是指針的唯一持有者 std::tr1::shared_ptr<int> sp2 = sp;//第二個shared_ptr ,拷貝構造函數 //兩個shared_ptr 相等,指向同一個對象,且引用計數為2 assert(sp == sp2 && sp.use_count() == 2); *sp2 = 100;//使用解引用操作符修改被指對象 assert(*sp == 100);//另一個shared_ptr 同時也被修改 sp.reset(); assert(!sp);//sp 不再持有對象 return 0; }

    再看一個復雜一點的例子,用以演示智能指針作為成員變量和函數參數的情況。

    #include <iostream> #include <tr1/memory> #include <assert.h> using namespace std; using namespace std::tr1; class shared{ private: shared_ptr<int> p; public: shared(shared_ptr<int> p_):p(p_){}; void print() { cout << "count:" << p.use_count() << " v = " << *p << endl; } }; void print_fun(shared_ptr<int> p) { cout << "count:" << p.use_count() << " v = " << *p << endl; } int main(int argc, char* argv[]) { shared_ptr<int> p(new int(100)); shared s1(p), s2(p); s1.print(); s2.print(); *p = 20; print_fun(p); s1.print(); }

    輸出結果如下:

    count:3 v = 100 count:3 v = 100 count:4 v = 20 count:3 v = 20

    可以看到,我們不用關心shared_ptr 的具體實現,也不需要煩心它的引用計數是多少,我們只需要把它當成一個普通指針使用,再也不用擔心資源泄漏。

    auto_ptr 不能一物侍二主,所以,拷貝的時候會發生所有權轉移,而shared_ptr 則不存在這個問題呢,那么,把一個 auto_ptr 復制給 shared_ptr 或者把一個shared_ptr 復制給auto_ptr 會發生什么呢?答案是編譯錯誤,即你不能這么做。

    5.2 make_shared

    前面說過,shared_ptr 是最像指針的智能指針,有了shared_ptr ,我們幾乎可以拋棄delete了,但是,我們還是用到了new,用到了new 而不delete ,很不對稱不是嗎,所以,TR1又定義了一個小工具make_shared(類似與make_pair)來幫助我們生成對象,不過,這個功能好像還沒有實現,如果,等不及要玩一下,可以用boost庫,make_shared 在頭文件#include<boost/make_shared.hpp>中定義,使用方法如下:

    #include <iostream> #include <string> #include <vector> #include <boost/make_shared.hpp> using namespace std; int main(int argc, char const* argv[]) { boost::shared_ptr<string> sp = boost::make_shared<string>("make_shared"); cout << *sp << endl; boost::shared_ptr< vector<int> > spv = boost::make_shared< vector<int> >(10, 2); cout << spv->size() << endl; return 0; }

    shared_ptr 可以應用于標注庫,唯一需要牢記的是,shared_ptr 是一個指針,行為類似于普通指針,知道這一點以后,下面的代碼就不難理解了。

    #include <boost/make_shared.hpp> #include <iostream> #include <vector> #include <boost/smart_ptr.hpp> using namespace std; using namespace boost; int main(int argc, char const* argv[]) { typedef vector< shared_ptr<int> > vs; //聲明一個持有shared_ptr 的標準容器類型,元素被初始化為空指針 vs v(10); int i = 0; for (vs::iterator pos = v.begin(); pos != v.end(); ++pos) { (*pos) = make_shared<int>(++i);//使用工廠函數(make_shared)賦值 cout << *(*pos) << ", ";//輸出值 } cout << endl; shared_ptr<int> p = v[9]; *p = 100; cout << *v[9] << endl; return 0; }

    5.3 shared_ptr 的缺陷(循環引用)

    shared_ptr 需要當心循環引用的問題,不然還是會發生資源泄漏。詳細信息見這里。

    6. shared_array

    我們知道scoped_ptr 和 scoped_array 的用法和區別以后,很容易猜到shared_array 的用法了。

    shared_array 類似于shared_ptr ,它包裝了new[] 操作符在堆上分配的動態數組,同樣,使用引用計數機制為動態數組提供了一個代理,可以在程序的生命周期里上期存在,直到沒有任何引用后才釋放內存。

    shared_array 的接口和功能幾乎與shared_ptr 是相同的,主要區別如下:

  • 構造函數接受指針p必須是new[] 的結果,而不是new 分配的資源
  • 提供operator[] 操作符重載,可以像普通數組一樣用下標訪問
  • 沒有* -> 操作符重載,因為shared_array 持有的不是一個普通指針
  • 析構函數使用delete[] 釋放資源,而不是delete
  • shared_array 用法的簡單示例:

    #include <iostream> #include <boost/smart_ptr.hpp> #include <assert.h> using namespace std; using namespace boost; int main(int argc, char const* argv[]) { shared_array<int> sa( new int[100]); shared_array<int> sa2 = sa; sa[0] = 10; cout << sa.use_count() << endl; cout << sa[0] << endl; assert( sa2[0] == 10); return 0; }

    7. weak_ptr

    關于weak_ptr 我是知其然,但不知其所以然。下面的說明和例子都來自《Boost 程序庫完全開發指南》,無任何更改,沒有理解透徹,怕改錯了。

    weak_ptr 被設計為與shared_ptr 共同工作,可以從一個shared_ptr 或者另一個weak_ptr 對象構造,獲得資源的觀測權。但是weak_ptr 沒有共享資源,它的構造函數不會引起指針引用計數的增加。同樣,在weak_ptr 析構時,也不會導致引用計數減少,它只是一個靜靜的觀察者。

    使用weak_ptr 的成員函數use_count() 可以觀測資源的引用計數,另一個成員函數expired() 的功能等價于use_count() == 0,但更快,表示被觀測的資源已經不復存在。

    weak_ptr 沒有重載operator* 和 -> ,這是特意的,因為它不共享指針,不能操作資源,這正是它"弱"的原因,但它可以使用一個非常重要的成員函數lock() 從被觀測的shared_ptr 獲得一個可用的shared_ptr 對象,從而操作資源。但當expired() == ture的時候,lock()函數返回一個存儲空指針的shared_ptr 。

    下面的代碼示范了weak_ptr 的用法:

    shared_ptr<int> sp (new int(10)); // 一個shared_ptr assert(sp.use_count() == 1); weak_ptr<int> wp(sp); // 從shared_ptr 創建weak_ptr assert(sp.use_count() == 1); // weak_ptr 不影響引用計數 if (!wp.expired()) // 判斷weak_ptr 觀察的對象是否有效 { shared_ptr<int> sp2 = wp.lock();//獲得一個shared_ptr *sp2 = 100; assert(sp.use_count() == 2); }//退出作用域,sp2 自動析構,引用計數減1 assert(sp.use_count() == 1); sp.reset(); // shared_ptr 失效 assert(wp.expired()); // weak_ptr 將獲得一個空指針 assert(!wp.lock());

    8. intrusive_ptr

    Boost 庫實現了該指針,Boost 庫不推薦使用intrusive_ptr。

    9. 注意事項

    • 在資源管理類中提供對原始資源的訪問(Item 15)

      使用智能指針的時候,可以通過get()成員函數,獲取原始指針,從而與一下需要用到原始資源的API打交道,如果這樣的API特別多,每次都寫.get() 不光費時,而且不夠清晰,這時,應該提供隱式類型轉換。如下所示:

      class Font{ public: .... //隱式類型轉換 operator FondHandle() const {return f;} ... };
    • 以獨立的語句將newd 對象置入智能指針(Item 17)

    應該用獨立的語句將newd 的對象置入只能指針,考慮如下調用: processWidget(std::tr1::shared_ptr(new Widget), priority());

    在上面的調用中,需要處理以下三件事:

  • 調用priority
  • 執行new Widget
  • 調用tr1::shared_ptr構造函數
  • c++ 編譯器會以什么樣的次序完成上面三件事,我們不得而知,如果調用序列如下:

  • 執行new Widget
  • 調用priority
  • 調用tr1::shared_ptr構造函數
  • 萬一對priority 的調用導致異常,則new Widget返回的指針就會遺失,我們無法使用,也無法釋放該資源,所以,安全的處理方式,應該是這樣的:

    std::tr1::shared_ptr<Widget> pw(new Widget); processWidget(pw, priority());

    10. 總結

    在上面所有介紹的智能指針中,auto_ptr ,shared_ptr 和weak_ptr 已經納入標準庫,可以放心使用,而不用擔心可移植性的問題。其中auto_ptr 和shared_ptr 最為重要,shared_ptr和普通指針最為相似,不知道該用哪種類型的智能指針的時候,就用shared_ptr 。

    參考資料

    • 《C++ 標準程序庫》
    • 《Boost 程序庫完全開發指南》
    • 《Effective c++》

    轉載:http://mingxinglai.com/cn/2013/01/smart-ptr/


    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的智能指针学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    国产精品成人在线观看 | 91看片淫黄大片在线播放 | 免费h漫在线观看 | 五月婷婷一级片 | 免费看十八岁美女 | 亚洲精品中文在线 | 免费观看一区二区三区视频 | 国产福利一区二区三区在线观看 | av大全在线 | 中文字幕在线观看一区 | 在线视频电影 | 91av欧美 | 日韩av不卡在线观看 | 欧美a视频在线观看 | 日本大片免费观看在线 | 伊人影院av | 日韩精品免费一线在线观看 | 国产精品久久久久一区二区国产 | 在线观看视频黄 | 亚洲精品网站在线 | 97天天综合网 | 日韩国产精品久久久久久亚洲 | 亚洲永久av | 久久99精品久久久久久久久久久久 | 免费网站黄 | 人人舔人人 | 成人在线视频你懂的 | 色资源在线观看 | 九九免费在线观看 | 午夜国产福利视频 | 国偷自产视频一区二区久 | 二区三区在线 | 欧美性黄网官网 | 亚洲精品高清在线 | 91av超碰| 99久久999久久久精玫瑰 | 免费观看一区 | 99色免费视频 | 亚洲精品中文在线资源 | 天天射射天天 | 久久久久一区 | 日韩av美女 | 成人国产精品久久久久久亚洲 | 最近中文国产在线视频 | 91欧美日韩国产 | 国产h在线播放 | 久久99精品国产一区二区三区 | 天天综合狠狠精品 | 色国产精品 | 亚洲国产美女精品久久久久∴ | 色婷丁香 | 国产在线va | 亚洲v精品 | 亚洲精品成人av在线 | 中文字幕人成乱码在线观看 | 欧美日韩一区二区视频在线观看 | 人人看人人做人人澡 | 欧美一区二区三区在线视频观看 | 免费麻豆网站 | 天天综合操| 亚洲国产午夜 | 久久超| 欧美在线资源 | 国产免费视频一区二区裸体 | 久久91久久久久麻豆精品 | 国产中的精品av小宝探花 | 亚洲激情| 96国产在线 | 玖草影院 | 中文字幕在线视频国产 | 麻豆 videos | av电影亚洲 | 久久久精品高清 | 国产精品久久久久永久免费 | 97超碰国产精品 | 中文字幕国产一区二区 | 中文字幕在线播放一区 | 久久天天躁狠狠躁夜夜不卡公司 | 欧美日韩国产高清视频 | 午夜av在线 | 久久免费看av | 天天射天天射天天射 | 狠狠干狠狠色 | 日日夜夜精品 | 免费在线a| 丁香婷婷色综合亚洲电影 | 好看的国产精品视频 | 精品女同一区二区三区在线观看 | 中文av一区二区 | 国产精品福利无圣光在线一区 | 国产不卡视频在线 | 亚洲精品免费观看 | 久久免费黄色网址 | 韩国av在线 | av免费网 | 国产香蕉视频在线播放 | 在线观看成人一级片 | 久热久草| 国产精品va在线 | 密桃av在线 | 天天射天天干天天插 | 久久精品免视看 | 日韩欧美一区二区在线播放 | 人人爽人人香蕉 | 97高清视频| 999免费视频 | 一区二区亚洲精品 | 狠狠综合网| 亚洲人成人天堂h久久 | 国产成人精品免高潮在线观看 | 干干干操操操 | 一级片视频在线 | 丝袜精品视频 | 久草精品免费 | 婷婷干五月 | 久草在线播放视频 | 人人草人人草 | 亚洲视频高清 | 欧美天堂视频在线 | 免费观看黄 | 国产一区欧美二区 | 成人网444ppp | 中文字幕成人在线 | 久久久久久久久免费 | 最近2019年日本中文免费字幕 | 久久一区二 | 亚洲精品国产品国语在线 | 中文字幕免费观看 | 国产精品美乳一区二区免费 | 成人免费大片黄在线播放 | av导航福利 | 在线网址你懂得 | 伊人网综合在线观看 | 中文字幕在线播放视频 | 97福利在线观看 | 午夜三级在线 | 丁香婷婷射 | 国产无套精品久久久久久 | 青青河边草观看完整版高清 | 九色91在线视频 | a在线观看免费视频 | 国产一级一片免费播放放 | 天堂av在线免费 | 亚洲欧美成人网 | 国产三级精品在线 | 在线观看蜜桃视频 | 中文字幕精品一区久久久久 | 成人在线观看资源 | 中文字幕一区二区三区四区久久 | 亚洲丁香日韩 | 五月婷婷六月丁香 | 免费高清av在线看 | 探花国产在线 | 国产成人一区二区在线观看 | 97日日 | 亚洲特级片 | 久久另类视频 | 五月婷婷六月丁香在线观看 | 黄色片网站av | 亚洲精品乱码久久久久久蜜桃不爽 | 91精品在线免费观看 | 亚洲成人av一区 | 男女全黄一级一级高潮免费看 | www狠狠操 | 在线观看mv的中文字幕网站 | 久久少妇av | 日本中文字幕高清 | 国产色一区 | 中文字幕免费观看视频 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 免费看久久久 | 麻豆一精品传二传媒短视频 | 久久久久五月天 | 2022中文字幕在线观看 | 欧美亚洲国产精品久久高清浪潮 | 国产黄a三级三级三级三级三级 | 婷婷色网视频在线播放 | 午夜婷婷在线观看 | 国产精品国内免费一区二区三区 | 一级黄色片在线播放 | 国产99久久久精品 | 国产视频每日更新 | 92中文资源在线 | 亚洲欧美国产精品久久久久 | 天天玩夜夜操 | 成人免费观看网址 | 成人欧美在线 | 国产精品自产拍 | 国产久视频 | 亚洲成免费 | 精品99免费 | 九九久久久久久久久激情 | 国产成人在线一区 | 综合网欧美 | 久久1电影院 | 成人av手机在线 | 天海冀一区二区三区 | 99久久精品视频免费 | 亚洲精品玖玖玖av在线看 | 在线观看理论 | 麻豆国产视频下载 | 国产精品一区二区在线 | 91麻豆操| 久久免费大片 | 色噜噜噜 | 国产伦理剧 | 99精品国产兔费观看久久99 | 久久91网 | 国产精品毛片久久久久久 | 成人国产精品一区二区 | 免费a v在线| 亚州天堂 | 国产精选在线观看 | 99r在线观看 | 婷婷电影在线观看 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 视频一区二区国产 | 少妇资源站 | 美女视频国产 | 久久久高清视频 | 日韩电影一区二区在线 | 婷婷在线观看视频 | 亚洲国产一区二区精品专区 | 天天爽天天碰狠狠添 | 激情中文在线 | 97超碰人人澡| 久久综合婷婷综合 | 亚洲精品免费在线 | 视频在线播放国产 | 欧美日韩久久不卡 | 免费影视大全推荐 | av成人免费| 麻豆小视频在线观看 | 狠狠天天 | 久久少妇av | 91在线免费观看国产 | 97国产精品视频 | 国产一区免费观看 | 丁香六月网 | 精品福利视频在线观看 | 黄污在线观看 | 在线视频一二三 | 免费久久久久久 | 欧美色噜噜| 国产综合精品久久 | 一区二区三区免费网站 | 中文字幕在线视频第一页 | 肉色欧美久久久久久久免费看 | 成人免费视频网站 | 国产精品久久久久久久久久久久 | 国产精品成人久久久久久久 | 久久福利精品 | 天天操天天射天天舔 | 婷婷久久综合九色综合 | 久久国产精品免费观看 | 国产99免费视频 | 婷婷在线免费观看 | 激情网在线视频 | 国产精品久久久久久久久久直播 | 九九久久久久99精品 | 国产精品久久精品国产 | 狠狠色丁香婷婷综合久小说久 | 91福利在线导航 | 天天曰天天射 | 午夜精品电影 | 久久久www成人免费毛片 | 美女中文字幕 | 国产高清成人 | 成年人电影免费看 | 日日日日 | 久久日韩精品 | av电影中文字幕 | 国产亚洲在线观看 | 色吊丝在线永久观看最新版本 | 狠狠狠色丁香综合久久天下网 | 超碰公开在线观看 | 欧美日韩国产高清视频 | 久久精品一二三区白丝高潮 | 九九热视频在线免费观看 | 免费无遮挡动漫网站 | 在线看片一区 | 日韩视频图片 | 久操视频在线播放 | 91久久国产露脸精品国产闺蜜 | 亚洲精品动漫在线 | 操操色| 中文字幕日韩av | 在线视频日韩精品 | 色婷五月天 | 丁香六月在线观看 | 四虎成人精品 | 天天摸夜夜操 | 一区av在线播放 | 亚洲成av人片一区二区梦乃 | 国产99久久久欧美黑人 | 日色在线视频 | 国产三级香港三韩国三级 | 久久综合婷婷 | 中文日韩在线视频 | 欧美亚洲国产一卡 | 久久影视中文字幕 | 日本精品久久久久久 | 亚洲精品一区二区三区新线路 | av福利在线播放 | 韩国三级av在线 | 一级做a视频 | 亚洲黄色在线观看 | 在线播放 日韩专区 | 欧美一区免费在线观看 | 国产中文视频 | 97超碰人人模人人人爽人人爱 | 精品免费久久久久 | 久久中文字幕在线视频 | 日韩视频免费在线观看 | 天天搞天天干天天色 | 成年人国产在线观看 | 久久一区二区三区四区 | 欧美日韩中文字幕综合视频 | 8090yy亚洲精品久久 | 免费看黄色毛片 | 国产成人精品一区二区三区福利 | 欧美成人精品欧美一级乱黄 | 日韩精品黄 | 国产精品久久人 | 日韩成人高清在线 | 国产三级久久久 | 亚洲精品国产拍在线 | 婷婷av色综合 | 99精品在线观看 | 国产成人在线观看 | 久久久蜜桃一区二区 | 亚洲综合色网站 | 色姑娘综合天天 | 国产午夜在线观看 | 中文字幕在线日本 | 婷婷www| 在线观看视频福利 | 激情综合狠狠 | 91成人看片 | 久久久久久黄 | 麻豆视频在线播放 | 天天操人人干 | 91视频 - 114av| 天天碰天天操视频 | 日日碰狠狠添天天爽超碰97久久 | 97涩涩视频 | 国产黑丝一区二区 | 在线免费观看涩涩 | 精品福利视频在线观看 | 成人久久18免费网站麻豆 | 色视频网站免费观看 | 一区二区高清在线 | 福利视频精品 | 18女毛片| 99久久久久久国产精品 | 在线观看中文字幕第一页 | 91夜夜夜| 免费在线激情视频 | 免费在线观看的av网站 | 免费观看的黄色片 | 激情五月婷婷激情 | 美女视频免费一区二区 | 国内精品久久久久久中文字幕 | 国产精品a久久久久 | 国产婷婷色 | 成人免费一区二区三区在线观看 | 青草草在线 | www.99热精品 | 日本不卡久久 | 不卡精品视频 | 激情网婷婷 | 99精品视频网 | 狠狠干天天干 | 久久久久99精品成人片三人毛片 | 日韩三级av| 97精品超碰一区二区三区 | 日韩高清成人在线 | av再线观看 | 久久高清免费观看 | 久久中文字幕在线视频 | 亚洲人在线视频 | 天天亚洲综合 | 天堂av免费观看 | 久久久黄色 | 深夜免费福利网站 | 91| 日韩美在线观看 | 欧美激情精品久久久久久免费 | 日本特黄一级片 | 久久久久久久久免费 | 成人久久综合 | 国产亚洲在线观看 | 久久视频网址 | 天天射天天射 | 99视频播放 | 欧美一级淫片videoshd | 久久美女精品 | 27xxoo无遮挡动态视频 | 成人av资源网站 | www.亚洲视频.com | 玖玖视频国产 | 欧美精品免费一区二区 | 亚洲天堂网在线播放 | 国产中文欧美日韩在线 | 国产一区久久久 | 五月综合激情婷婷 | av免费片| 日本一区二区三区免费观看 | 18女毛片 | 日日夜夜噜噜噜 | 人人干人人搞 | 国产精品福利av | 国产精品 久久 | 欧美综合干 | 国产精品久久久久av免费 | 午夜影视剧场 | 国产精品综合久久久久 | 国产精品第一页在线观看 | 狠狠色丁香婷综合久久 | 中文字幕 二区 | 欧美成人黄 | 久操伊人| 九九日九九操 | 黄色成年 | 欧美日本一区 | 国产精品999久久久 久产久精国产品 | 在线观看黄色小视频 | 青青草华人在线视频 | 日韩电影在线观看一区 | 一区二区视频欧美 | a天堂中文在线 | 在线观看黄色免费视频 | 91视频91色 | 免费黄色av.| 国产精品一区二区果冻传媒 | 91在线观看高清 | 国产福利一区二区在线 | 日韩免费三级 | 日产乱码一二三区别免费 | 色天天中文 | 欧美性色19p| 99视频国产精品免费观看 | 黄色亚洲免费 | 日韩色综合网 | freejavvideo日本免费 | 国产日韩欧美精品在线观看 | 久久久久在线视频 | 99免费视频 | 欧美精品少妇xxxxx喷水 | 欧美日韩高清一区二区 | av成人在线观看 | 美女黄频视频大全 | 毛片网站在线 | 美女视频永久黄网站免费观看国产 | 国产午夜精品久久 | 亚州精品视频 | 欧美日高清视频 | 久久久久国产精品一区 | 日韩在线观看网站 | av中文字幕网址 | 午夜av在线播放 | 中文字幕在线观看免费观看 | 91精品国产一区二区在线观看 | 国产网红在线观看 | 国产伦精品一区二区三区… | 808电影免费观看三年 | 中文字幕电影在线 | 亚洲成成品网站 | 久久伦理 | 国产剧情亚洲 | 91最新网址在线观看 | 欧美99热 | 97超碰在线久草超碰在线观看 | 日本精品一区二区在线观看 | 一区二区三区在线观看中文字幕 | 涩涩网站在线 | 亚洲午夜久久久久久久久久久 | 色婷婷综合在线 | 日韩视频免费 | 九九热久久免费视频 | 免费的国产精品 | 久在线| 天天插伊人 | 久草资源在线观看 | 婷婷网站天天婷婷网站 | 99精品久久只有精品 | 色综合天天射 | www.亚洲精品 | 日韩视频中文字幕 | 日韩最新av在线 | 欧美一区二区三区免费看 | 日本精品一区二区在线观看 | 国精产品满18岁在线 | 国产一在线精品一区在线观看 | 国产黄色网| 99久久影视 | 黄色av播放| 国内精品在线看 | 日日干网址| 9999亚洲| 国产在线观看高清视频 | 久久久久久美女 | 69精品视频 | 国产一区免费看 | 国产精品久久久久久久久久久免费看 | 一区二区视频在线播放 | 成人在线观看日韩 | 欧美性生活小视频 | 天天干夜夜干 | 人人爽人人爽人人片av免 | 中文字幕超清在线免费 | 亚洲2019精品 | 爱射综合 | 久久国产视屏 | 国产免费观看久久黄 | 国产超碰97 | 久久躁日日躁aaaaxxxx | 啪啪免费试看 | 久久免费视频这里只有精品 | 中文字幕视频 | 中文字幕免费高清在线 | 免费的黄色av | 欧美激情综合五月色丁香 | 干亚洲少妇 | 在线观看视频在线观看 | 中文字幕传媒 | 亚洲91精品在线观看 | 欧美一级欧美一级 | 黄色网址国产 | 免费高清在线观看成人 | 亚洲激精日韩激精欧美精品 | 欧美成年黄网站色视频 | 日韩高清免费在线 | 91成人精品观看 | 国产一级视频 | 国产夫妻性生活自拍 | 天天干天天色2020 | 久久视频网 | 欧美日韩精品在线免费观看 | 亚洲成年人免费网站 | 久久99精品一区二区三区三区 | 免费在线观看av片 | 亚洲视频第一页 | 精品999在线 | 免费婷婷| 久久久久久久国产精品 | 国产黄色播放 | 久久永久免费视频 | 91免费网 | 97色视频在线 | 久久久国产精华液 | 日韩欧美一区二区三区免费观看 | 久久玖 | 四月婷婷在线观看 | 亚洲国产精品成人综合 | 亚洲国产午夜视频 | 午夜视频在线瓜伦 | 毛片网站观看 | 精品欧美一区二区在线观看 | 狠狠的操你 | 在线观看国产永久免费视频 | 日韩av在线高清 | 97色综合| 97av视频 | 欧美在线91 | 国产精品成人久久久 | 免费在线91 | 亚洲 欧美变态 另类 综合 | 天堂网一区二区三区 | 操老逼免费视频 | 色视频一区 | 国产97视频在线 | 日韩欧美视频二区 | 久久国产片 | 久久不卡视频 | 在线看v片成人 | 人人藻人人澡人人爽 | 久久综合久久八八 | 精品国产1区2区 | 色综合久久久久久久久五月 | 黄色a一级视频 | 色综合久久久 | 欧美va天堂在线电影 | 网站在线观看日韩 | 波多野结衣久久精品 | 日韩在线观看电影 | 午夜影院在线观看18 | 久久草视频 | 9999激情| 亚洲精品免费在线视频 | 日日干天天 | 91精品久久久久久粉嫩 | 九九精品在线观看 | 日韩视频一区二区在线 | 久久久精品在线观看 | 色多多污污| 国产精品免费在线 | 深爱激情五月综合 | 亚洲自拍av在线 | 日韩在线在线 | 国产欧美精品一区二区三区 | 国产精品久久久久久久久久久久午夜 | 欧亚久久 | 啪啪小视频网站 | 99久久精品国产一区二区成人 | 精品久久久久久久久久久久久久久久 | 在线成人中文字幕 | 久久久久久久福利 | 五月天伊人网 | 欧美激情精品久久久久久免费印度 | 婷婷激情五月 | 国产精品免费成人 | 大片网站久久 | 九月婷婷综合网 | 国产色视频网站 | 国产99久久精品一区二区300 | 亚洲精品国产精品久久99 | 精品黄色在线观看 | 亚洲成人欧美 | 亚洲男女精品 | 黄色网大全 | 欧美日韩国产精品一区二区三区 | 国产色女人 | 久久人人爽人人人人片 | 激情一区二区三区欧美 | 97在线视频观看 | 日本在线视频网址 | 久久综合久久久久88 | 97香蕉久久超级碰碰高清版 | 久久人人爽人人 | 91大神一区二区三区 | 欧美激精品 | 欧美日韩国产亚洲乱码字幕 | 欧美一级日韩免费不卡 | 69av国产 | 国产91av视频在线观看 | 欧美久久久一区二区三区 | 亚洲免费黄色 | 国产成人精品一区二区三区在线 | 国产精品免费看久久久8精臀av | 久久丁香网 | 一本—道久久a久久精品蜜桃 | 九九九九热精品免费视频点播观看 | 免费午夜网站 | 17婷婷久久www | 亚洲国产精选 | 九色porny真实丨国产18 | 韩国精品视频在线观看 | 日韩一三区 | 国产精品麻 | 在线观看黄色 | 蜜臀aⅴ国产精品久久久国产 | 日本久久久精品视频 | 亚洲一级电影在线观看 | 久久精品国产v日韩v亚洲 | 最近日本韩国中文字幕 | 久久精品国产一区二区电影 | 最近2019年日本中文免费字幕 | 夜夜婷婷 | 中文字幕欧美三区 | 日本精品午夜 | 久草视频视频在线播放 | 成人免费看黄 | 国产精彩在线视频 | 超碰在线1| 免费碰碰 | 人人爽人人乐 | 精品国产亚洲一区二区麻豆 | 国产伦精品一区二区三区四区视频 | 日韩av影视在线 | 国产一级做a爱片久久毛片a | 国产精品久久久久久久久蜜臀 | 欧美一区二区免费在线观看 | 91热爆视频 | 亚洲精品www久久久久久 | 日韩h在线观看 | 欧美日韩国产一区二区三区 | 五月婷av| 日本xxxx.com| 国产精品手机播放 | 日韩av影视在线 | 99精品热 | 欧美一区二区视频97 | 亚洲成人中文在线 | 婷婷精品| 久草色在线观看 | 久草网站在线观看 | 伊人春色电影网 | 成人免费观看网址 | 国产精品视频全国免费观看 | 日韩二区三区在线 | 亚洲成人av在线播放 | 国产一区久久久 | 999久久久国产精品 高清av免费观看 | 国产日韩av在线 | 国产一级免费视频 | 国产在线视频一区二区 | 色噜噜日韩精品欧美一区二区 | 超碰成人免费电影 | 日韩精品一区二区三区免费观看视频 | 国产精品久久久久久久久免费 | 在线免费观看黄网站 | 最新国产精品亚洲 | 成人免费观看视频大全 | 亚洲无在线 | 成人h动漫在线看 | 91精品国自产在线观看 | 久久久久免费精品 | 欧美 日韩 国产 中文字幕 | 黄色三级在线看 | 久热免费在线 | 日本少妇久久久 | 天天插日日插 | 国产在线黄色 | 少妇bbr搡bbb搡bbb | 日批在线观看 | 尤物97国产精品久久精品国产 | 九九国产视频 | 天天曰夜夜爽 | 欧美一区,二区 | 日日躁夜夜躁xxxxaaaa | 国产精品一区二区在线观看 | 天天操网| 一区二区三区精品久久久 | 国产黄色片免费观看 | 久久久久亚洲国产精品 | 久久久久电影网站 | 日韩欧美精品一区二区三区经典 | 久久精品艹 | 久草视频免费在线观看 | 色综合天天狠狠 | 久久艹影院 | 国产九色视频在线观看 | 五月激情丁香图片 | av在线免费播放网站 | 日韩电影一区二区在线观看 | 69久久夜色精品国产69 | 亚洲国产精品成人av | 国产亚洲精品久久久久动 | 国产亚洲精品久久久久久大师 | 99免费在线观看视频 | 国产中文字幕视频在线 | 五月婷香蕉久色在线看 | 久久精品www人人爽人人 | 日韩av成人在线观看 | 最新免费中文字幕 | 91精品999 | 久久综合之合合综合久久 | 日韩高清dvd| 久久99在线观看 | 精品国产乱子伦一区二区 | 久久久久久久久久久成人 | 国产福利91精品一区二区三区 | 九九热久久免费视频 | 在线观看不卡的av | 嫩草av影院| 日韩欧美精品在线观看视频 | 黄色不卡av | 精品国产一区二区三区久久久久久 | 99精品免费久久久久久久久日本 | 一区二区在线不卡 | 97av在线视频免费播放 | 成人免费观看视频网站 | 992tv在线观看网站 | 国产伦理一区二区三区 | 日韩大片免费观看 | 天天色天天爱天天射综合 | 亚洲精品久久视频 | 成人一级免费视频 | 婷婷色婷婷 | 国产涩涩在线观看 | 国产精品毛片完整版 | 日韩一级片大全 | 久久精品视频免费播放 | 又黄又爽又刺激视频 | 中文有码在线视频 | 久草在线播放视频 | 成人a毛片 | 欧美日韩在线观看一区 | 96久久精品 | 国产精品99久久久久 | 久热国产视频 | 国产成人av网址 | 久久激情片 | 黄色网在线播放 | 国产精品国产三级国产aⅴ入口 | 久免费视频 | 美女激情影院 | 亚洲精品乱码久久久一二三 | 国产精品美女久久久久久久久 | 96视频免费在线观看 | 在线欧美日韩 | 日韩在线观看 | 精品视频123区在线观看 | 成人免费观看av | 精品久久久久久国产偷窥 | 亚洲成熟女人毛片在线 | www.com操| 久草在线视频网站 | 一级精品视频在线观看宜春院 | 西西人体www444 | 色偷偷中文字幕 | 在线免费性生活片 | 亚洲视屏在线播放 | 亚洲精品日韩av | 亚洲国产欧美一区二区三区丁香婷 | 在线观看韩日电影免费 | 久草国产视频 | 亚洲欧美国产精品18p | 国产最新在线 | 一区二区中文字幕在线播放 | 国产一级视屏 | 国产精品久久久久国产精品日日 | 久久综合免费 | 毛片的网址 | 久久激情五月婷婷 | 91精品久久久久 | 一区二区三区免费 | 日本一区二区三区免费看 | 色婷婷激婷婷情综天天 | 黄色av三级在线 | 少妇bbbb揉bbbb日本 | 日韩欧美视频二区 | 日韩一区二区三 | 中文av影院| 91亚洲视频在线观看 | 久久艹中文字幕 | 狠狠色丁香婷综合久久 | 国产九九九九九 | 中文字幕国产精品一区二区 | 久久精品1区2区 | av免费网站| 日韩精品久久久久久 | www.午夜视频 | 亚洲经典中文字幕 | 美女国产免费 | 91成年人在线观看 | 国产中文视 | 91成人网页版 | 久久在线播放 | 国产精品2019 | 91久色蝌蚪 | 日韩在线电影观看 | 亚洲精品国产精品国自产观看浪潮 | 国产福利午夜 | 六月婷色| 久久久精品国产一区二区电影四季 | 粉嫩av一区二区三区免费 | 久久久精选 | av短片在线观看 | 大胆欧美gogo免费视频一二区 | 青青河边草免费观看 | 一区二区三区高清在线观看 | 国产亚洲精品久久网站 | 最新超碰| 丁香综合网| 欧美国产日韩一区二区 | 成人资源在线播放 | 91精品视频在线看 | 特黄免费av | 日本精品久久久久 | 91麻豆精品91久久久久同性 | 99爱爱| 欧美日韩免费网站 | 九九日韩| 99热99热 | 精品在线视频一区二区三区 | 国产又粗又猛又色又黄视频 | 天天射综合 | 99热在线网站 | 一区二区三区在线观看免费 | 欧美亚洲另类在线视频 | 日韩av片无码一区二区不卡电影 | av无限看| 国语自产偷拍精品视频偷 | 在线看黄色的网站 | 日韩精品一卡 | 精品国产成人在线影院 | 99r在线视频 | 综合国产在线观看 | 成人午夜精品福利免费 | 黄色三级在线 | 99精品久久久久久久 | 国产又粗又长又硬免费视频 | www免费看片com | 成人黄视频| 很黄很污的视频网站 | 人人射人人爽 | 在线看不卡av | 中文视频一区二区 | 亚洲国产欧洲综合997久久, | 成人aⅴ视频 | 国产一在线精品一区在线观看 | 中文字幕成人 | a级国产片| 久久er99热精品一区二区 | 亚洲自拍av在线 | 色视频在线 | 亚洲精品一区二区三区高潮 | 五月激情五月激情 | 免费a网站 | 九色91av| 日韩国产精品久久 | 国产精品视频免费观看 | 九九在线视频 | 国产精品久久久久永久免费 | 黄色大片免费网站 | 精品国产亚洲一区二区麻豆 | 国产黄色精品在线 | 人人草人人做 | 视频成人永久免费视频 | 亚洲一区二区三区精品在线观看 | 人人要人人澡人人爽人人dvd | 九七视频在线观看 | 中文字幕影视 | 国产精品久久久久久久免费 | 天天操天天玩 | 91在线视频免费观看 | 韩日在线一区 | 成人av资源在线 | 国产人免费人成免费视频 | 91亚洲精品久久久蜜桃 | 国产精品美女免费 | 97国产精品视频 | 久久国产精品视频免费看 | 97超碰在线久草超碰在线观看 | www国产亚洲精品久久网站 | 超黄视频网站 | 久久激情五月丁香伊人 | 国产免费久久久久 | 中文字幕在线观看视频一区二区三区 | 国内精品久久久久久久97牛牛 | 天天拍天天爽 | 国产小视频免费观看 | 日韩成人在线一区二区 | 天天爽夜夜爽人人爽一区二区 | 日韩电影一区二区在线 | 久久精选视频 | 色香蕉在线 | 精品自拍网 | 免费91在线观看 | 精品国产99国产精品 | 中文区中文字幕免费看 | 97国产一区 | 高清免费av在线 | 综合激情网... | 国产专区一 | 欧美久久电影 | 天堂资源在线观看视频 | 日韩午夜三级 | 麻豆91在线看 | 国产精品theporn | 日韩手机视频 | 亚洲国产精品久久久久 | 一区二区视频在线播放 | 在线观看日韩免费视频 | 在线97| 精品国产1区二区 | 又大又硬又黄又爽视频在线观看 | 国产精品18久久久久久不卡孕妇 | 99久久精品国产亚洲 | 日本精品一区二区三区在线播放视频 | 超碰人人在线 | 亚洲国产精品一区二区尤物区 | 中文字幕二区三区 | 亚洲午夜精品一区 | 狠狠色噜噜狠狠狠狠2021天天 | 日韩精品中文字幕一区二区 | 久久国产成人午夜av影院宅 | 国产亚洲一区 | 国产高清无av久久 | 欧美日韩不卡在线观看 | 成人国产精品久久久春色 | 欧美老少交 | 亚洲欧美视频 | 丁香六月在线观看 | 不卡视频国产 | 久久免费视频这里只有精品 | 麻豆 videos| 亚洲一级特黄 | 久久男人免费视频 | 又爽又黄在线观看 | 日韩激情第一页 | 亚洲精品一区二区精华 | 久久久久久久久久久久影院 | 日韩理论视频 | 就要色综合 | 日日躁夜夜躁aaaaxxxx | 又紧又大又爽精品一区二区 | 精品99在线 | 9色在线视频 | 日本中文乱码卡一卡二新区 | 中文字幕在线观看视频一区二区三区 | 亚洲综合视频在线 | 精品女同一区二区三区在线观看 | 亚洲精品在线视频观看 | 国产精品96久久久久久吹潮 | 人人爽人人爽人人片av免 |