• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    C++11新標(biāo)準(zhǔn)下引用的使用和教學(xué)方法研究

    2017-11-08 03:55:46李長(zhǎng)河
    現(xiàn)代計(jì)算機(jī) 2017年27期
    關(guān)鍵詞:指針對(duì)象函數(shù)

    李長(zhǎng)河

    (中國(guó)地質(zhì)大學(xué)(武漢)自動(dòng)化學(xué)院,武漢430074)

    C++11新標(biāo)準(zhǔn)下引用的使用和教學(xué)方法研究

    李長(zhǎng)河

    (中國(guó)地質(zhì)大學(xué)(武漢)自動(dòng)化學(xué)院,武漢430074)

    0 引言

    引用是提高程序運(yùn)行效率的重要工具。C++11新標(biāo)準(zhǔn)引入的右值引用拓寬了引用的使用范圍,進(jìn)一步提升了程序的性能。引用是C++教學(xué)的重要內(nèi)容,它是后續(xù)教學(xué)內(nèi)容的基礎(chǔ)。但是對(duì)于如何深入理解而又有效地教授學(xué)生使用引用,還很少有教材專門論述。在C++教學(xué)中,深入而又清晰地分析引用的特點(diǎn)和使用方法,能夠幫助學(xué)生靈活而又正確地使用引用。

    在C++11新標(biāo)準(zhǔn)下,引用分為左值引用和右值引用[1]。左值引用指的是綁定到左值的引用,新標(biāo)準(zhǔn)頒布之前的引用都是指左值引用。右值引用指的是綁定到右值的引用[2]。引用主要在以下四種場(chǎng)合使用:第一種是在函數(shù)的形參列表中使用左值引用,將其與對(duì)應(yīng)的實(shí)參進(jìn)行綁定,用來高效地讀取或修改實(shí)參的內(nèi)容;第二種是函數(shù)返回值以左值引用的方式返回,避免臨時(shí)對(duì)象的產(chǎn)生;第三種是為觸發(fā)移動(dòng)語(yǔ)義而使用右值引用形參,目的是“竊取”將亡對(duì)象的資源,避免資源的拷貝[3-4],從而提高運(yùn)行效率;第四種是為觸發(fā)動(dòng)態(tài)綁定而使用左值引用,使用左值引用或指針是觸發(fā)動(dòng)態(tài)綁定的前提。

    1 認(rèn)識(shí)引用

    在新標(biāo)準(zhǔn)下,引用分為左值引用和右值引用。因此,掌握左值和右值的概念對(duì)于學(xué)生理解引用是非常重要的。

    1.1 左值和右值

    任何一個(gè)表達(dá)式,要么是左值,要么是右值。對(duì)于程序員來說,左值所在的內(nèi)存空間的地址是可以獲取的(可用取址符&獲?。?,但右值的地址是無法得到的(無法用取址符&獲?。R虼?,既可以讀取左值對(duì)象的內(nèi)容又可以向其寫入數(shù)據(jù),而右值對(duì)象只能執(zhí)行讀操作,不能對(duì)它執(zhí)行寫操作。顯然常量,如‘a(chǎn)’,3.14,10等都是右值,而由程序員定義的用來存放并能夠改變值的對(duì)象是左值。一般來說,右值只能在=符號(hào)右邊,左值沒有限制,如:

    int i=0;//正確:用右值常量0初始化左值對(duì)象i

    10=i;//錯(cuò)誤:賦值運(yùn)算符左側(cè)必須為左值

    int j=i;//左值對(duì)象i可以當(dāng)成右值,只是對(duì)其內(nèi)容進(jìn)行讀操作

    1.2 引用

    引用是一種復(fù)合類型,我們可以把它理解為一個(gè)對(duì)象的別名。也就是說,當(dāng)我們創(chuàng)建一個(gè)對(duì)象的引用的時(shí)候,編譯器將引用的對(duì)象的內(nèi)容與這個(gè)別名綁定,不會(huì)把對(duì)象的內(nèi)容拷貝給引用。例如:

    int sum=0;

    int&lr=sum;//定義一個(gè)int類型的左值引用,引用左值對(duì)象sum的內(nèi)容

    lr+=1;//相當(dāng)于sum+=1

    int&&rr1=sum+5;//定義一個(gè)右值引用,引用右值表達(dá)式

    int&&rr2=10;//引用字面值常量

    通過引用訪問與其綁定的對(duì)象與直接訪問引用的對(duì)象效果是一樣的。左值引用只能綁定到左值對(duì)象,而右值引用必須綁定到右值對(duì)象。例如:

    int&&rr3=rr1;//錯(cuò)誤:rr1為左值

    雖然rr1為右值引用,但rr1本身是左值對(duì)象,因此rr3不能引用左值對(duì)象。

    定義引用時(shí),需要注意以下幾點(diǎn):1)定義一個(gè)引用時(shí)必須要初始化,使其與一個(gè)對(duì)象綁定;2)使用引用時(shí),不能改變綁定的對(duì)象,也就是說,一旦定義一個(gè)引用,它始終與初始化的對(duì)象綁定在一起;3)引用必須綁定到相同數(shù)據(jù)類型的對(duì)象上。

    在教學(xué)方法上,正反舉例法可以有效地加深學(xué)生對(duì)概念的理解,這對(duì)于C++等實(shí)踐性比較強(qiáng)的課程是非常適用的教學(xué)方法。通過正反舉例,學(xué)生可以清晰地理解左值、右值、左值引用和右值引用等概念并掌握易錯(cuò)點(diǎn)。另外,對(duì)于前后有關(guān)聯(lián)的知識(shí)點(diǎn),采用遞進(jìn)式教學(xué)方法有助于學(xué)生理解新知識(shí)。例如,在講解引用之前,學(xué)生需要了解左值和右值的概念。只有正確把握了左值和右值的概念,才能掌握引用的概念。

    2 理解引用

    2.1 左值引用與指針

    從以上所述可以看出,引用的行為類似于指針常量(注意不是指向常量的指針)的行為。一個(gè)指針常量在定義時(shí)與一個(gè)對(duì)象綁定,使用期間不允許改變其指向。

    int i=0;

    int*const p=&i;//不允許指針p指向其他對(duì)象

    (*p)++;//等價(jià)于i++

    cout<

    雖然定義引用時(shí)編譯器不會(huì)根據(jù)引用對(duì)象的類型分配存儲(chǔ)空間,但和指針一樣,引用本身需要占用存儲(chǔ)空間。

    cout<

    引用和普通指針的主要區(qū)別在于:1)定義引用時(shí)必須初始化,定義指針時(shí)不需要初始化;2)賦值行為不同:對(duì)引用賦值修改綁定對(duì)象的值,對(duì)指針賦值改變其指向的對(duì)象。

    把這一點(diǎn)講清楚,學(xué)生就不難理解引用了,而且對(duì)于后續(xù)知識(shí)的講解也十分重要。例如,C++的多態(tài)行為既可以作用于指針也可以作用于引用,如果我們沒有講清楚這一點(diǎn),學(xué)生很難理解引用的多態(tài)行為是怎樣實(shí)現(xiàn)的。

    2.2 右值轉(zhuǎn)化為左值

    通過右值引用可以訪問無名的臨時(shí)對(duì)象,相當(dāng)于給無名的臨時(shí)對(duì)象的取個(gè)名字,本質(zhì)上將一個(gè)短暫的右值轉(zhuǎn)化為持久的左值。也就是說,該右值又“重獲新生”,其生命期與被綁定的右值引用的生命期一致。

    double&&rr=sqrt(3.14);

    函數(shù)sqrt的返回值保存在一個(gè)臨時(shí)對(duì)象里,rr就是這個(gè)臨時(shí)對(duì)象的引用,通過rr可以直接訪問它。因此,原來臨時(shí)的右值實(shí)際上變成了一個(gè)持久的左值。

    右值引用的這個(gè)特性非常重要,是移動(dòng)語(yǔ)義的基礎(chǔ),教學(xué)過程中應(yīng)重點(diǎn)講解。在教學(xué)方法上,使用上面的舉例分析法可使學(xué)生能夠透過現(xiàn)象看到右值引用的本質(zhì)。

    2.3 通用引用

    如果右值引用聲明&&與類型推導(dǎo)結(jié)合起來,那么&&并非總意味著右值引用類型,此時(shí)&&將成為一種通用引用類型[5]:

    int i=0;

    auto&&rr1=10;//rr1被推導(dǎo)為右值引用

    auto&&rr2=i;//rr2被推導(dǎo)為左值引用

    上面第二條語(yǔ)句中auto&&根據(jù)字面值常量推導(dǎo)出rr1為右值引用,而第三條語(yǔ)句中rr2被推導(dǎo)為一個(gè)左值引用。右值聲明為auto&&的對(duì)象都是通用引用。類似的,如果一個(gè)模板函數(shù)形參為模板類型參數(shù)(T)的右值引用(T&&),那么形參類型也有同樣的行為:

    templatevoid f(T&&par){}

    f(10);//par被推導(dǎo)為右值引用

    f(i);//par被推導(dǎo)為左值引用,假設(shè)i為左值對(duì)象

    在教學(xué)方法上,采用類比法可以加深學(xué)生對(duì)左值引用的理解和避免對(duì)右值引用錯(cuò)誤的認(rèn)識(shí)。通過左值引用和指針類比,學(xué)生可以清晰地認(rèn)識(shí)到左值引用的本質(zhì)。當(dāng)右值引用與類型推導(dǎo)結(jié)合時(shí),便成了一種通用引用。通過類比,學(xué)生可以避免遇見&&即為右值引用的錯(cuò)誤認(rèn)識(shí),進(jìn)一步提高學(xué)生對(duì)引用的認(rèn)識(shí)。

    3 使用引用

    3.1 左值引用形參

    使用左值引用作為函數(shù)形參有兩個(gè)考慮:1)通過形參可以改變實(shí)參的值;2)可以避免對(duì)實(shí)參的拷貝,提高程序運(yùn)行效率。可以通過下面的例子對(duì)上面的知識(shí)點(diǎn)進(jìn)行講解。

    假設(shè)有如下函數(shù)調(diào)用:

    Foo a;

    passByValue(a);//調(diào)用Foo的復(fù)制構(gòu)造函數(shù),打印輸出copied

    cout<

    passByRef(a);//形參x為a的引用,a的值被修改

    cout<

    在教學(xué)方法中,通過案例對(duì)比法,講解引用形參和非引用形參的區(qū)別。如上面的例子中,函數(shù)passByRef的形參為實(shí)參的引用,在調(diào)用的過程中不會(huì)發(fā)生復(fù)制構(gòu)造。對(duì)形參進(jìn)行修改等價(jià)于修改實(shí)參的值。如果采用非引用形參,實(shí)參向形參傳遞的是值,因此會(huì)發(fā)生復(fù)制構(gòu)造才能將值傳遞給形參。通過對(duì)比講解,學(xué)生可以清楚了解到值傳遞和引用傳遞的區(qū)別。

    通過這個(gè)例子的講解,可以提示學(xué)生引用形參有利無弊,并歸納出引用形參的通用性。因此,建議學(xué)生盡量使用引用形參,引起學(xué)生的重視。進(jìn)一步考慮到程序的安全性,如果對(duì)實(shí)參只執(zhí)行讀操作,可以告訴學(xué)生使用const引用,保證實(shí)參的安全性。

    3.2 返回左值引用

    與引用形參類似,函數(shù)值以引用的方式返回可以避免復(fù)制構(gòu)造,提高程序執(zhí)行效率。例如,F(xiàn)oo類的成員函數(shù)get返回?cái)?shù)據(jù)成員m_x的引用,與指針類似,返回的值與m_x是同一個(gè)內(nèi)存空間。如果,成員函數(shù)get被改為:

    string Foo::get(){return m_x;}

    在返回時(shí),將以復(fù)制構(gòu)造的方式構(gòu)造一個(gè)臨時(shí)對(duì)象,這個(gè)臨時(shí)對(duì)象是m_x的一個(gè)副本,構(gòu)造的時(shí)候需要分配存儲(chǔ)空間并進(jìn)行數(shù)據(jù)復(fù)制。因此,普通值返回的方式會(huì)大大降低程序的執(zhí)行效率。

    在教學(xué)方法上,采用與引用形參相類比的方法,可以很容易把引用返回的優(yōu)點(diǎn)講清楚,學(xué)生也比較容易接受。在此基礎(chǔ)之上,接下來可采用互動(dòng)式與引導(dǎo)式教學(xué)方法把引用對(duì)象的存儲(chǔ)類型的要求講清楚。例如,可以向?qū)W生提問:可以返回局部對(duì)象的引用嗎?互動(dòng)之后,給出答案:函數(shù)不能返回一個(gè)局部對(duì)象的引用。這是因?yàn)楫?dāng)一個(gè)函數(shù)返回時(shí),函數(shù)體中的局部對(duì)象包括非引用形參都會(huì)消亡。因此,引用已經(jīng)消亡的對(duì)象是沒有意義的。例如,下面fun函數(shù)返回的局部對(duì)象i:

    int&fun(int i){return i;}//錯(cuò)誤:不能返回局部對(duì)象的引用引導(dǎo)和互動(dòng)式的教學(xué)方式不但能夠加深學(xué)生對(duì)所學(xué)知識(shí)的理解,準(zhǔn)確地把握事物的本質(zhì),而且還能自然地引入新的知識(shí)或強(qiáng)化對(duì)已有知識(shí)的認(rèn)識(shí)。

    3.3 觸發(fā)移動(dòng)語(yǔ)義

    移動(dòng)語(yǔ)義是C++11引入的新的語(yǔ)言特性,可以說移動(dòng)語(yǔ)義就是為了性能而生。臨時(shí)對(duì)象是影響程序運(yùn)行效率的一個(gè)重要因素。一個(gè)程序在運(yùn)行期間,不可避免地會(huì)產(chǎn)生大量的臨時(shí)對(duì)象,這些臨時(shí)對(duì)象的生命期是短暫的,幾乎只被使用一次就會(huì)消亡。程序員無法控制這些臨時(shí)對(duì)象,它們不可以訪問。因此,它們往往也被稱為幽靈對(duì)象。為了解決這個(gè)問題,基于右值引用的移動(dòng)語(yǔ)義便由此而生。

    一般情況下,一個(gè)類要啟用移動(dòng)語(yǔ)義,需要定義移動(dòng)成員。改造的Foo類如下:

    第二個(gè)構(gòu)造函數(shù)為移動(dòng)構(gòu)造函數(shù),其形參為Foo類型的右值引用,用來接受一個(gè)右值。當(dāng)執(zhí)行完此移動(dòng)構(gòu)造函數(shù)之后,實(shí)參對(duì)象的資源會(huì)被“竊取”。例如:

    Foo a(“test”);

    Foo b(std::move(a));

    //庫(kù)函數(shù)move將左值a轉(zhuǎn)化為右值

    cout<<“b:”<

    if(!a.get())cout<<“a is empty”<

    為了方便測(cè)試,上述代碼利用庫(kù)函數(shù)move將左值對(duì)象a轉(zhuǎn)化為右值,用來觸發(fā)移動(dòng)構(gòu)造函數(shù)。在構(gòu)造對(duì)象b的過程中,程序并沒有為b分配存儲(chǔ)空間和復(fù)制數(shù)據(jù)的操作,而是直接把a(bǔ)的內(nèi)容“竊取”出來。構(gòu)造完畢之后,a已經(jīng)沒有任何資源了。

    在教學(xué)方法上,舉例法可以清晰地把移動(dòng)語(yǔ)義講清楚。通過上面的例子,學(xué)生可以非常清楚地看到對(duì)象a的資源是如何被對(duì)象b“竊取”的,而且學(xué)生也會(huì)體會(huì)到在執(zhí)行的過程中,不需要分配存儲(chǔ)空間和復(fù)制數(shù)據(jù),程序的性能得到了明顯的改善。

    在學(xué)生掌握了移動(dòng)構(gòu)造函數(shù)之后,可采用任務(wù)驅(qū)動(dòng)的授課方式講解移動(dòng)賦值運(yùn)算符。即,先提問如何“竊取”=符號(hào)右側(cè)對(duì)象的資源,然后分析任務(wù)需求,最后給出最終的實(shí)現(xiàn)。

    Foo&operator=(Foo&&rhs){m_x=rhs.m_x;rhs.m_x=nullptr;return*this;}

    3.4 觸發(fā)動(dòng)態(tài)綁定

    多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心技術(shù)之一,它是通過虛函數(shù)的動(dòng)態(tài)綁定來實(shí)現(xiàn)的,即在運(yùn)行期間,根據(jù)基類指針或引用所綁定的對(duì)象來確定具體的行為。因此,觸發(fā)動(dòng)態(tài)綁定的前提是使用指針或引用。下面構(gòu)造一個(gè)抽象基類和兩個(gè)公有派生類:

    struct B{virtual void fun()=0;};

    struct D1:public B{void fun(){cout<<“fun of D1”<

    struct D2:public B{void fun(){cout<<“fun of D2”<

    其中,基類B定義了一個(gè)虛接口,兩個(gè)派生類分別定義了各自版本的實(shí)現(xiàn)。為了測(cè)試基于引用的動(dòng)態(tài)綁定,設(shè)計(jì)如下測(cè)試函數(shù):

    void test(const B&b){b.fun();}

    test函數(shù)形參為基類B的引用,函數(shù)體為一個(gè)成員fun函數(shù)的調(diào)用。測(cè)試代碼如下:

    D1 d1;D2 d2;

    test(d1);//打印輸出:fun of D1

    test(d2);//打印輸出:fun of D2

    上面代碼定義了兩個(gè)派生類對(duì)象d1和d2。在調(diào)用test函數(shù)時(shí),當(dāng)基類引用形參b與一個(gè)派生類對(duì)象綁定時(shí),便會(huì)調(diào)用相對(duì)應(yīng)版本的fun函數(shù),從而實(shí)現(xiàn)動(dòng)態(tài)綁定。

    在教學(xué)方法上,建議采用案例分析的方法把抽象的概念具體化,從而使學(xué)生能夠深入地體會(huì)和理解動(dòng)態(tài)綁定與多態(tài)性的概念。設(shè)計(jì)的案例要重點(diǎn)突出,精簡(jiǎn)扼要,抓住講解內(nèi)容的本質(zhì)。

    筆者運(yùn)用上述教學(xué)方法,通過對(duì)比分析學(xué)生每學(xué)期進(jìn)行的四次上機(jī)考核結(jié)果和課程設(shè)計(jì)的實(shí)訓(xùn)效果發(fā)現(xiàn),學(xué)生逐漸加強(qiáng)了引用的使用,程序的運(yùn)行效率得到了很大的改進(jìn)。

    4 結(jié)語(yǔ)

    圍繞C++11新標(biāo)準(zhǔn)下引用知識(shí)點(diǎn)在教學(xué)過程中的難點(diǎn)和重點(diǎn)問題,研究和討論了引用的本質(zhì)及其四種不同的應(yīng)用場(chǎng)合,針對(duì)具體教授知識(shí)點(diǎn)的不同特點(diǎn),推薦了相應(yīng)的教學(xué)方法。筆者運(yùn)用上述教學(xué)方法,精心設(shè)計(jì)了相應(yīng)的教學(xué)案例,通過近5年內(nèi)的教學(xué)效果分析,上述工作對(duì)學(xué)生理解和使用引用具有重要作用。

    [1]國(guó)際標(biāo)準(zhǔn)組織和國(guó)際電工委員會(huì).ISO/IEC 14882:2011,Information Technology-Programming Languages-C++[S].ISO.2 2011-09-1(3):187-189.

    [2]Stanley B.Lippman,Josée Lajoie,Barbara E.Moo.C++Primer[M](中文版第5版).王剛,楊巨峰,譯.北京:電子工業(yè)出版社,2013-09-01:471-472.

    [3]Michael Wong,IBM XL編譯器中國(guó)開發(fā)團(tuán)隊(duì).深入理解C++11:C++11新特性解析與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2013-06-07:68-85.

    [4]祁宇.深入應(yīng)用C++11:代碼優(yōu)化與工程級(jí)應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2015-05-01:64-78.

    [5]Scott Meyers.Effective Modern C++[M].O'Reilly Media.2014-11-7:164-168.

    Research on the Usages of Reference and Teaching Methods in C++11 New Standard

    LI Chang-he

    (China University of Geosciences,School of Automation,Wuhan 430074)

    Reference is an important feature of C++,and it has been extended in the new standard C++11,where introduces the r-value reference.However,there is seldom analysis of teaching methods for reference under the new standard.Analyzes the characteristics of reference and its applications comprehensively,discusses the effective teaching methods.By using these teaching methods,students are able to fully un?derstand reference and its usages.

    1007-1423(2017)27-0003-05

    10.3969/j.issn.1007-1423.2017.27.001

    是C++語(yǔ)言的一個(gè)重要特性,C++11新標(biāo)準(zhǔn)對(duì)引用進(jìn)行拓展,引入右值引用。目前針對(duì)新標(biāo)準(zhǔn)下引用的教學(xué)方法還很少有專門論述。對(duì)C++新標(biāo)準(zhǔn)下引用進(jìn)行深入分析,闡述使用引用的場(chǎng)合和方法,探討有效的教學(xué)方法。教學(xué)效果表明,這些方法能夠幫助學(xué)生深入理解和正確使用引用。

    C++11;左值引用;右值引用;教學(xué)方法

    國(guó)家自然科學(xué)基金面上項(xiàng)目(No.61673355)、湖北省“楚天學(xué)子”人才項(xiàng)目(No.162301132807)、中國(guó)地質(zhì)大學(xué)(武漢)“騰飛計(jì)劃”項(xiàng)目(No.G1323531750)、中國(guó)地質(zhì)大學(xué)(武漢)研究生教育教學(xué)改革研究項(xiàng)目(No.YJG2017101)

    李長(zhǎng)河(1983-),男,河北秦皇島人,副教授,博士生導(dǎo)師,英國(guó)萊斯特大學(xué)博士研究生學(xué)位,研究方向?yàn)橹悄軆?yōu)化與學(xué)習(xí)

    2017-07-18

    2017-09-14

    C++11;L-value Reference;R-value Reference;Teaching Methods

    猜你喜歡
    指針對(duì)象函數(shù)
    神秘來電
    睿士(2023年2期)2023-03-02 02:01:09
    二次函數(shù)
    第3講 “函數(shù)”復(fù)習(xí)精講
    二次函數(shù)
    函數(shù)備考精講
    偷指針的人
    攻略對(duì)象的心思好難猜
    意林(2018年3期)2018-03-02 15:17:24
    為什么表的指針都按照順時(shí)針方向轉(zhuǎn)動(dòng)
    基于熵的快速掃描法的FNEA初始對(duì)象的生成方法
    區(qū)間對(duì)象族的可鎮(zhèn)定性分析
    国产一区二区三区av在线| 精品久久久久久久久亚洲| 亚洲精品色激情综合| 青春草亚洲视频在线观看| 亚洲精品国产av成人精品| 亚洲av综合色区一区| 国产欧美日韩精品一区二区| 男女啪啪激烈高潮av片| av又黄又爽大尺度在线免费看| 18禁在线无遮挡免费观看视频| 亚洲精品456在线播放app| 久久久欧美国产精品| 午夜福利在线观看免费完整高清在| 亚洲天堂av无毛| 舔av片在线| 男人和女人高潮做爰伦理| 亚洲美女搞黄在线观看| 人妻 亚洲 视频| 九草在线视频观看| 水蜜桃什么品种好| 国产精品久久久久久av不卡| a 毛片基地| 少妇人妻精品综合一区二区| 亚洲人成网站在线播| 免费少妇av软件| 男女国产视频网站| 国产av国产精品国产| 午夜老司机福利剧场| 久久精品国产亚洲网站| 亚洲精品一区蜜桃| 亚洲av成人精品一区久久| 免费看不卡的av| 色5月婷婷丁香| 欧美+日韩+精品| 黄色配什么色好看| 亚洲av日韩在线播放| 午夜日本视频在线| 国产 一区精品| 亚洲怡红院男人天堂| 五月玫瑰六月丁香| 国产精品爽爽va在线观看网站| 久久青草综合色| 欧美日韩国产mv在线观看视频 | 国产成人精品一,二区| 欧美老熟妇乱子伦牲交| 国产黄片美女视频| 国产乱人视频| 少妇人妻 视频| 卡戴珊不雅视频在线播放| 久热久热在线精品观看| 成人亚洲精品一区在线观看 | 日韩 亚洲 欧美在线| 亚洲三级黄色毛片| 亚洲精品aⅴ在线观看| 在线观看三级黄色| 亚洲欧美日韩另类电影网站 | 亚洲精品色激情综合| 日韩免费高清中文字幕av| 中文在线观看免费www的网站| 人体艺术视频欧美日本| 黑人高潮一二区| 国产亚洲精品久久久com| 国产色爽女视频免费观看| 国产有黄有色有爽视频| 一本色道久久久久久精品综合| av国产久精品久网站免费入址| 直男gayav资源| 国产av精品麻豆| 国产精品一及| 国产精品一区www在线观看| 国产淫语在线视频| 亚洲精品视频女| 日韩强制内射视频| 国产69精品久久久久777片| 欧美+日韩+精品| av国产免费在线观看| 一区二区三区四区激情视频| 新久久久久国产一级毛片| 国产有黄有色有爽视频| 久久久精品94久久精品| 91精品国产九色| 黄色配什么色好看| 九九久久精品国产亚洲av麻豆| 大片免费播放器 马上看| 国产乱人偷精品视频| 最近中文字幕2019免费版| 99久久中文字幕三级久久日本| 婷婷色综合www| 亚洲第一av免费看| 一区二区三区精品91| 精品少妇久久久久久888优播| 最近手机中文字幕大全| 国产69精品久久久久777片| 大码成人一级视频| 久久99热这里只频精品6学生| 青春草国产在线视频| 秋霞伦理黄片| 老司机影院毛片| 蜜臀久久99精品久久宅男| 精品一区二区免费观看| 久久久久久久精品精品| 中文乱码字字幕精品一区二区三区| 少妇人妻精品综合一区二区| 国产深夜福利视频在线观看| 久热这里只有精品99| 99re6热这里在线精品视频| 久久精品国产亚洲av涩爱| 精品国产一区二区三区久久久樱花 | 超碰97精品在线观看| 大又大粗又爽又黄少妇毛片口| 少妇高潮的动态图| 蜜臀久久99精品久久宅男| 国产亚洲91精品色在线| 女人十人毛片免费观看3o分钟| 国产中年淑女户外野战色| 精品亚洲成a人片在线观看 | 少妇猛男粗大的猛烈进出视频| 亚洲精品第二区| 亚洲国产精品国产精品| 美女脱内裤让男人舔精品视频| 国产成人精品婷婷| 一级av片app| 国产白丝娇喘喷水9色精品| 最近最新中文字幕免费大全7| 春色校园在线视频观看| 在线观看免费视频网站a站| 久久99热6这里只有精品| 熟妇人妻不卡中文字幕| 全区人妻精品视频| 中国三级夫妇交换| 老司机影院成人| 国产精品国产av在线观看| av播播在线观看一区| 久久97久久精品| 久久久久久人妻| 国产有黄有色有爽视频| 97在线视频观看| 亚洲成人一二三区av| 亚洲av二区三区四区| 一本—道久久a久久精品蜜桃钙片| 人妻少妇偷人精品九色| 亚洲av欧美aⅴ国产| 国产亚洲欧美精品永久| 国产精品久久久久久久久免| 99精国产麻豆久久婷婷| 国产国拍精品亚洲av在线观看| 97精品久久久久久久久久精品| 精品少妇黑人巨大在线播放| 久久久久视频综合| 欧美3d第一页| 成人毛片60女人毛片免费| 搡老乐熟女国产| 国产91av在线免费观看| 久久久久久九九精品二区国产| 偷拍熟女少妇极品色| 熟妇人妻不卡中文字幕| 日韩av不卡免费在线播放| 久久人人爽av亚洲精品天堂 | 一级片'在线观看视频| 一级黄片播放器| 女性生殖器流出的白浆| 一边亲一边摸免费视频| 狠狠精品人妻久久久久久综合| 夜夜看夜夜爽夜夜摸| 伦理电影免费视频| 国产乱人视频| 精品一区二区三卡| 亚洲精品自拍成人| 一区二区三区免费毛片| 蜜桃在线观看..| 日韩伦理黄色片| 午夜福利影视在线免费观看| 人妻一区二区av| 精品国产三级普通话版| 日韩 亚洲 欧美在线| 国产成人freesex在线| 日日撸夜夜添| 干丝袜人妻中文字幕| 波野结衣二区三区在线| 我要看日韩黄色一级片| av在线app专区| 亚洲精品亚洲一区二区| 少妇猛男粗大的猛烈进出视频| 99热这里只有是精品50| 国产有黄有色有爽视频| 美女国产视频在线观看| 99久久精品热视频| 欧美性感艳星| 日韩欧美精品免费久久| 国产午夜精品一二区理论片| 日韩制服骚丝袜av| 国产黄色视频一区二区在线观看| 色网站视频免费| 日韩强制内射视频| 久久国产精品男人的天堂亚洲 | 午夜激情福利司机影院| 国产高清不卡午夜福利| 久久综合国产亚洲精品| 男人添女人高潮全过程视频| 99久久精品热视频| 亚洲精品成人av观看孕妇| 一个人看的www免费观看视频| 亚洲内射少妇av| 国产欧美日韩一区二区三区在线 | 国产av精品麻豆| 激情 狠狠 欧美| 又爽又黄a免费视频| 亚洲av中文av极速乱| 嫩草影院入口| kizo精华| 日韩三级伦理在线观看| 久久久久久久国产电影| 免费高清在线观看视频在线观看| 一区二区三区免费毛片| 日本黄色日本黄色录像| 日韩强制内射视频| 国产成人精品一,二区| 少妇人妻一区二区三区视频| 黄色视频在线播放观看不卡| 精品国产露脸久久av麻豆| 噜噜噜噜噜久久久久久91| 日日啪夜夜爽| 99热国产这里只有精品6| 国产精品99久久99久久久不卡 | 伊人久久精品亚洲午夜| 国产精品免费大片| 一个人免费看片子| 日本色播在线视频| 久久精品国产亚洲网站| 成人毛片a级毛片在线播放| 国产av国产精品国产| 一级毛片aaaaaa免费看小| 欧美bdsm另类| 天堂俺去俺来也www色官网| 亚洲国产高清在线一区二区三| 欧美日韩视频高清一区二区三区二| 一个人免费看片子| 草草在线视频免费看| 国产视频内射| 中文字幕av成人在线电影| 99久久综合免费| 中文资源天堂在线| 亚洲国产欧美人成| 成人毛片60女人毛片免费| 亚洲国产精品999| 国产伦精品一区二区三区视频9| 麻豆乱淫一区二区| 成人毛片a级毛片在线播放| 欧美成人a在线观看| 国产又色又爽无遮挡免| 色哟哟·www| 老熟女久久久| 精品人妻视频免费看| 亚洲精品日本国产第一区| 国产白丝娇喘喷水9色精品| 国产精品一区二区在线不卡| 中文字幕久久专区| 亚洲综合色惰| 久久久久久人妻| 日产精品乱码卡一卡2卡三| 亚洲四区av| 看免费成人av毛片| 午夜免费鲁丝| 欧美变态另类bdsm刘玥| 又粗又硬又长又爽又黄的视频| 亚洲美女搞黄在线观看| 黄片wwwwww| 少妇人妻精品综合一区二区| 国产永久视频网站| 久久久色成人| 日本免费在线观看一区| 高清不卡的av网站| 十八禁网站网址无遮挡 | 久久国产亚洲av麻豆专区| 91精品一卡2卡3卡4卡| 国产精品人妻久久久影院| 蜜桃久久精品国产亚洲av| 街头女战士在线观看网站| 久久久色成人| 成人亚洲欧美一区二区av| 久久99热这里只频精品6学生| 久热这里只有精品99| 亚洲精品乱久久久久久| 欧美极品一区二区三区四区| 观看av在线不卡| 亚洲精品第二区| 大话2 男鬼变身卡| 国产精品久久久久久av不卡| 黄色配什么色好看| 啦啦啦中文免费视频观看日本| kizo精华| 亚洲欧洲日产国产| 免费人成在线观看视频色| 日本vs欧美在线观看视频 | 亚洲色图av天堂| 色视频在线一区二区三区| 亚洲av中文字字幕乱码综合| 国产亚洲午夜精品一区二区久久| 日韩电影二区| 国产亚洲91精品色在线| 日韩视频在线欧美| 大码成人一级视频| 免费少妇av软件| 美女国产视频在线观看| 新久久久久国产一级毛片| 最新中文字幕久久久久| 婷婷色av中文字幕| 日本与韩国留学比较| 狂野欧美白嫩少妇大欣赏| av在线蜜桃| 99久久综合免费| 免费大片黄手机在线观看| 久久影院123| 精品视频人人做人人爽| 又粗又硬又长又爽又黄的视频| 国产亚洲av片在线观看秒播厂| 一区二区av电影网| 精品99又大又爽又粗少妇毛片| 欧美精品一区二区免费开放| 国产精品久久久久久精品古装| 久久久午夜欧美精品| 欧美精品亚洲一区二区| 午夜福利高清视频| 久久久久精品性色| 国内少妇人妻偷人精品xxx网站| 中文字幕精品免费在线观看视频 | 午夜激情福利司机影院| 久久久久久九九精品二区国产| 国产精品熟女久久久久浪| 国产熟女欧美一区二区| 一级毛片我不卡| 国产精品免费大片| 免费黄网站久久成人精品| 午夜福利在线在线| 一级黄片播放器| 久久精品人妻少妇| 人妻系列 视频| 在线观看av片永久免费下载| 亚洲欧美一区二区三区国产| 在线观看av片永久免费下载| 亚洲欧美日韩另类电影网站 | 2021少妇久久久久久久久久久| 欧美区成人在线视频| 国模一区二区三区四区视频| 人体艺术视频欧美日本| 婷婷色综合www| 精品国产露脸久久av麻豆| 国模一区二区三区四区视频| 国产高清不卡午夜福利| 夜夜骑夜夜射夜夜干| 国产有黄有色有爽视频| 国产精品熟女久久久久浪| 欧美三级亚洲精品| 成年人午夜在线观看视频| 午夜福利在线观看免费完整高清在| 最近手机中文字幕大全| 三级国产精品欧美在线观看| 黄色视频在线播放观看不卡| 在线观看av片永久免费下载| 久久久久性生活片| 国产精品福利在线免费观看| 极品教师在线视频| 亚洲欧美成人综合另类久久久| 成年av动漫网址| 精品国产乱码久久久久久小说| 欧美日韩亚洲高清精品| 国产精品av视频在线免费观看| 亚洲不卡免费看| 日韩制服骚丝袜av| 国产一区有黄有色的免费视频| 爱豆传媒免费全集在线观看| 美女高潮的动态| 人体艺术视频欧美日本| 午夜视频国产福利| 亚洲精品,欧美精品| 性色avwww在线观看| 欧美人与善性xxx| 自拍欧美九色日韩亚洲蝌蚪91 | 国产精品蜜桃在线观看| 精品人妻偷拍中文字幕| 最近中文字幕高清免费大全6| 国产在线一区二区三区精| 日韩av不卡免费在线播放| 最近中文字幕高清免费大全6| 精品亚洲成a人片在线观看 | 久久久久网色| 99国产精品免费福利视频| 国产男人的电影天堂91| 如何舔出高潮| av网站免费在线观看视频| 久久韩国三级中文字幕| 国产精品人妻久久久久久| 最近最新中文字幕免费大全7| 一级av片app| av网站免费在线观看视频| 亚洲成人手机| 日韩成人伦理影院| 一本色道久久久久久精品综合| 久热久热在线精品观看| 日韩人妻高清精品专区| 国产精品国产三级专区第一集| 亚洲高清免费不卡视频| 亚洲国产毛片av蜜桃av| 日本午夜av视频| 国产精品99久久99久久久不卡 | 一本久久精品| 交换朋友夫妻互换小说| a级毛色黄片| 成人黄色视频免费在线看| 中文字幕制服av| 菩萨蛮人人尽说江南好唐韦庄| 国产大屁股一区二区在线视频| 国产欧美另类精品又又久久亚洲欧美| av专区在线播放| 国产精品一区二区在线不卡| 日韩,欧美,国产一区二区三区| 亚洲,一卡二卡三卡| 成人亚洲精品一区在线观看 | 亚洲中文av在线| 亚洲高清免费不卡视频| av在线蜜桃| 午夜激情福利司机影院| av免费观看日本| 欧美成人午夜免费资源| 大码成人一级视频| 18+在线观看网站| 舔av片在线| 不卡视频在线观看欧美| 亚洲国产最新在线播放| 午夜福利网站1000一区二区三区| 国产视频内射| 一区二区av电影网| 男人添女人高潮全过程视频| 亚洲国产精品一区三区| 久久久久久久久久久免费av| 美女cb高潮喷水在线观看| 边亲边吃奶的免费视频| 久久99热6这里只有精品| 黄片wwwwww| 中文字幕人妻熟人妻熟丝袜美| 777米奇影视久久| 欧美变态另类bdsm刘玥| av在线播放精品| 欧美日韩综合久久久久久| 老司机影院成人| 久久久午夜欧美精品| 晚上一个人看的免费电影| 精品久久久久久电影网| 精品一品国产午夜福利视频| 免费大片18禁| 国产男女超爽视频在线观看| a 毛片基地| 亚洲美女黄色视频免费看| 国产深夜福利视频在线观看| 高清av免费在线| 久久亚洲国产成人精品v| 免费观看无遮挡的男女| 寂寞人妻少妇视频99o| 最近的中文字幕免费完整| 亚洲欧美日韩无卡精品| 久久精品国产鲁丝片午夜精品| 国产一区亚洲一区在线观看| 97超碰精品成人国产| 亚洲,一卡二卡三卡| 你懂的网址亚洲精品在线观看| 国产精品一区二区性色av| 国产免费视频播放在线视频| 国产av精品麻豆| 熟女人妻精品中文字幕| 精华霜和精华液先用哪个| 尤物成人国产欧美一区二区三区| 2018国产大陆天天弄谢| 国产探花极品一区二区| 最近手机中文字幕大全| 日产精品乱码卡一卡2卡三| 欧美极品一区二区三区四区| 亚洲av福利一区| 欧美老熟妇乱子伦牲交| 王馨瑶露胸无遮挡在线观看| 国产爱豆传媒在线观看| 中文字幕亚洲精品专区| 欧美精品国产亚洲| 国产伦理片在线播放av一区| 亚洲高清免费不卡视频| 日韩一本色道免费dvd| 女的被弄到高潮叫床怎么办| xxx大片免费视频| 中国美白少妇内射xxxbb| av卡一久久| 91久久精品电影网| 亚洲av不卡在线观看| 国产欧美另类精品又又久久亚洲欧美| 久久av网站| 亚洲国产最新在线播放| 婷婷色麻豆天堂久久| 免费黄网站久久成人精品| 久久久国产一区二区| 亚洲在久久综合| 春色校园在线视频观看| 久久99蜜桃精品久久| 亚洲精品一区蜜桃| 伦理电影免费视频| 免费av不卡在线播放| 丝袜脚勾引网站| 久久国产乱子免费精品| 久久久久久久亚洲中文字幕| 在线观看美女被高潮喷水网站| 熟女电影av网| 性色av一级| 久久久久久伊人网av| 久久久欧美国产精品| 嫩草影院入口| 亚洲精品视频女| 国产久久久一区二区三区| 免费久久久久久久精品成人欧美视频 | 我的老师免费观看完整版| 热re99久久精品国产66热6| 美女国产视频在线观看| 国产精品不卡视频一区二区| 欧美日韩国产mv在线观看视频 | 高清毛片免费看| 男女边吃奶边做爰视频| 女人久久www免费人成看片| 国产在视频线精品| 在线天堂最新版资源| 2021少妇久久久久久久久久久| 久久99精品国语久久久| 97在线人人人人妻| 各种免费的搞黄视频| 大又大粗又爽又黄少妇毛片口| 久久久久人妻精品一区果冻| 精品国产一区二区三区久久久樱花 | 亚洲av中文字字幕乱码综合| av卡一久久| 亚洲激情五月婷婷啪啪| 亚洲av在线观看美女高潮| 国产亚洲最大av| 黄色日韩在线| 韩国av在线不卡| 高清日韩中文字幕在线| 91狼人影院| av不卡在线播放| 日本午夜av视频| 精品视频人人做人人爽| 美女福利国产在线 | av不卡在线播放| 日本色播在线视频| 成年女人在线观看亚洲视频| 国产成人a∨麻豆精品| 亚洲激情五月婷婷啪啪| 久久久国产欧美日韩av| 日本av手机在线免费观看| 满18在线观看网站| 狠狠精品人妻久久久久久综合| 国产亚洲午夜精品一区二区久久| 国产精品一区二区在线观看99| 一级黄色大片毛片| 老司机午夜十八禁免费视频| 亚洲,欧美精品.| 国产在视频线精品| 成人黄色视频免费在线看| 久久狼人影院| 中文字幕av电影在线播放| 久久免费观看电影| 国产日韩欧美亚洲二区| 欧美日韩视频高清一区二区三区二| 男女免费视频国产| 天天躁夜夜躁狠狠躁躁| 欧美精品av麻豆av| 久久人妻熟女aⅴ| 亚洲国产成人一精品久久久| 免费av中文字幕在线| 国产男女超爽视频在线观看| 性色av一级| 国产亚洲欧美精品永久| 90打野战视频偷拍视频| 国产精品一二三区在线看| 大码成人一级视频| 性高湖久久久久久久久免费观看| 久久国产精品影院| 成人国语在线视频| 日本黄色日本黄色录像| 亚洲欧美精品综合一区二区三区| 桃花免费在线播放| 另类亚洲欧美激情| 久久精品久久精品一区二区三区| 国产精品.久久久| 高清欧美精品videossex| 日韩av在线免费看完整版不卡| 蜜桃国产av成人99| 久久久久国产一级毛片高清牌| 国产三级黄色录像| 国产日韩欧美视频二区| xxx大片免费视频| 久久久国产精品麻豆| 国产亚洲一区二区精品| 啦啦啦在线观看免费高清www| 黄色视频不卡| 国产亚洲av高清不卡| 精品欧美一区二区三区在线| 亚洲av日韩精品久久久久久密 | 美女大奶头黄色视频| 新久久久久国产一级毛片| 久久久亚洲精品成人影院| videos熟女内射| 亚洲精品av麻豆狂野| 高清黄色对白视频在线免费看| 成人国产一区最新在线观看 | 国产精品av久久久久免费| 国产无遮挡羞羞视频在线观看| 国产成人啪精品午夜网站| 欧美日韩亚洲综合一区二区三区_| 亚洲成人免费电影在线观看 | 老汉色av国产亚洲站长工具| 亚洲精品一卡2卡三卡4卡5卡 |