青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

一個(gè)要引起注意的delete動(dòng)作

我在雙向鏈表類(lèi)中定義的clear()函數(shù)
如下:

void clear()

       {

              if( !isEmpty() )

              {

                     list_item< type >* temp = list_head;

                     list_item< type >* delTemp;

             

                     while( temp !=  list_tail )

                     {

                            delTemp = temp;

                            temp = temp->back;

                            delete delTemp;//釋放空間

                     }

原來(lái)這里的語(yǔ)句是temp !=  list_tail->back 但是一旦 temp 被賦值為 list_tail->back //么它本身就是 delTemp 即將被刪除的空間的一部分 再對(duì)一個(gè)已經(jīng)不存在的指針進(jìn)行操作當(dāng)然就會(huì)崩潰 這樣就導(dǎo)致在對(duì)temp的引用是不存在的 所以出錯(cuò)

                     delete list_tail;

                     list_head = NULL;

                     size = 0;

              }

              else

              {

                     return;

              }

       }

我還是很快發(fā)現(xiàn)了 但是很有覺(jué)得價(jià)值 所以寫(xiě)下提醒自己

posted on 2007-04-11 16:55 lele 閱讀(1497) 評(píng)論(15)  編輯 收藏 引用

評(píng)論

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-13 12:40 anthony

不知道你之前的代碼是不是只是while那里不一樣,
個(gè)人感覺(jué)不是temp的問(wèn)題,如果照你以前的寫(xiě)法,應(yīng)該是是最后的delete list_tail;的問(wèn)題
void clear()

{

if( !isEmpty() )

{

list_item< type >* temp = list_head;

list_item< type >* delTemp;



while( temp != list_tail->back)//你以前的寫(xiě)法

{

delTemp = temp;

temp = temp->back;


delete delTemp;//釋放空間

}



// delete list_tail; //這句不要了,因?yàn)閐elTemp 總是指向temp的前一個(gè),當(dāng)temp = list_tail->back時(shí)是在最后,此時(shí)delTemp = list_tail已刪除完整個(gè)鏈表,覺(jué)得如果你之前的語(yǔ)句只是while那里不一樣,應(yīng)該是這里出錯(cuò)了,不知道有沒(méi)有理解你原來(lái)的意思。覺(jué)得有點(diǎn)疑問(wèn)

list_head = NULL;

size = 0;

}

else

{

return;

}

}

  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-14 00:09 lele

呵呵 謝謝你的疑問(wèn) 我剛剛走查了一下就是我的那個(gè)問(wèn)題
你可以自己試一試 當(dāng)執(zhí)行到delTemp指向尾節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)時(shí) temp指向尾節(jié)點(diǎn) 此時(shí)還不滿足temp != list_tail->back 但是下一句是
delTemp = temp; 這句之后 temp = temp->back; 這句之后 temp滿足了退出循環(huán)的條件 但是它指向了尾節(jié)點(diǎn)的一部分(list_tail->back )而這個(gè)list_tail->back 經(jīng)過(guò)隨后的一步delete delTemp;就被刪除了 這樣在下一次循環(huán)入口條件判斷時(shí) temp已經(jīng)成了一個(gè)野指針 對(duì)它的引用當(dāng)然也是不正確的

不知道這樣說(shuō)你清楚了嗎??  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-14 10:53 anthony

你的意思是temp=list_tail->back ;時(shí),deltemp等于list_tail,然后刪除了deltemp,相當(dāng)于刪了list_tail,這樣我覺(jué)得應(yīng)該是list_tail變成了野指針吧(其實(shí)都一樣),我的想法是這樣的,如果list_tail->back = NULL ,temp就變成了NULL,而應(yīng)該是list_tail變成了野指針,我知道這是有點(diǎn)鉆死胡同的感覺(jué)(因?yàn)榻Y(jié)果是一樣的),我只是把為什么我不理解你的程序的那些注釋說(shuō)出來(lái)而已,討論清楚而已,你覺(jué)得是不是應(yīng)該是list_tail是野指針,而不是temp?

不過(guò)說(shuō)真的我光注意前面的temp了,而沒(méi)注意后面的tail_back(就while的條件里面),看來(lái)以后還得注意前后  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-14 13:31 lele

list_tail是類(lèi)的成員 這個(gè)類(lèi)都被釋放了就不存在了 那么你說(shuō)list_tail是什么?? 而temp是無(wú)關(guān)的局部變量 它在這個(gè)局部?jī)?nèi)使我控制 除了這個(gè)局部就不是我能管理的了 但是類(lèi)不同 temp要使用我類(lèi)中的back成員 當(dāng)然得back存在啊 而我把back delete了 你說(shuō)temp指向的list_tail的back是什么??  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-14 13:32 lele

不過(guò)以后大家可以經(jīng)常討論 這是好事情 我要謝謝你的  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-14 14:29 anthony

你的clear函數(shù)只是清空了鏈表的內(nèi)存空間listitem,并沒(méi)有刪除list這個(gè)對(duì)象,對(duì)象的刪除得由析構(gòu)函數(shù)來(lái)執(zhí)行
 

比如你執(zhí)行了一個(gè)LIST Object,只是一個(gè)鏈表對(duì)象,往里面加item,然后clear方法Object.Clear()只是刪除了里面的item的空間,而成員對(duì)象是否應(yīng)該還存在?就是List_tail還是一個(gè)指針,它還有它的值,它指向它原先的內(nèi)存地址,我的理解是比如List_tail現(xiàn)在是一個(gè)門(mén)牌號(hào)101,而item是里面的人,里面如果搬家了,執(zhí)行的是Clear,但門(mén)牌號(hào)還在,而只有把房子給拆了,才是把對(duì)象給釋放了,或者你可以試一下把List_tail設(shè)為公有,然后Clear()后,然后List_tail 0x16;這說(shuō)明List_tail還是存在,它還指向那片內(nèi)存單元,或者你跟蹤一下,在執(zhí)行Clear之前,看下list_tail的地址,Clear之后,在看下那地址,是不是一樣的,temp也只是個(gè)指針,無(wú)論后面的list_tailback存不存在,它還是個(gè)內(nèi)存中的一個(gè)編號(hào)(門(mén)牌號(hào)),如果存在,程序正確,不存在,就是野指針,個(gè)人認(rèn)為只要它值為NULL它就不應(yīng)該是野指針,我說(shuō)的應(yīng)該是list_tail是野指針,是因?yàn)楫?dāng)最后deltemp也指向list_tail時(shí),temp = list_tail->back = NULL;此時(shí)由于delete deltemp

list_tail空間就不存在了,但它還指向那個(gè)地址,但是后面就沒(méi)有back了,所以會(huì)出錯(cuò)


如果改成
 

while(temp != list_tail->back && temp != NULL), 當(dāng)然這個(gè)沒(méi)你的算法好,這個(gè)得多做多個(gè)判斷,時(shí)間負(fù)責(zé)度比你原先的高,就是感覺(jué)要說(shuō)引用了不存在的對(duì)象應(yīng)該是list_tail引用了不存在的對(duì)象,你覺(jué)得呢?(個(gè)人愚見(jiàn))

  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-14 23:11 lele

temp != list_tail->back && temp != NULL這里依然有個(gè)問(wèn)題就是
先判斷temp != list_tail->back會(huì)出錯(cuò),還是把兩個(gè)語(yǔ)句調(diào)換一下位置
這樣就能保證安全性了 呵呵
你的想法挺好的 謝謝你的想法!  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-16 09:41 anthony

以前倒還真沒(méi)注意過(guò)和順序有關(guān),又學(xué)到了,看來(lái)討論真的能有意外的收獲,謝謝你的指正

呵呵,聽(tīng)你這么一說(shuō),然后覺(jué)得是不是while(temp != NULL)就可以了?  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-17 18:09 lele

呵呵 我都被你誤導(dǎo)了 temp != list_tail->back 和 temp != NULL 這兩局并沒(méi)有區(qū)別 list_tail->back 就是NULL
List_tail指向的內(nèi)容被析構(gòu)之后 系統(tǒng)就會(huì)給List_tail分配一個(gè)我們無(wú)法得知的指向。
back不在了之后 我下一步要執(zhí)行的是判斷temp是不是back 你說(shuō)它都沒(méi)有了怎么判斷呢?
你的編程想法真的很有意思。你怎么知道temp一定是NULL 那是你的機(jī)器 我的機(jī)器就不是 而且怎么可能呢? 我是在堆棧上面申請(qǐng)的。temp是靜態(tài)的。它指向的內(nèi)存被系統(tǒng)回收了,你怎么還可以用呢? 無(wú)論是不是NULL 只要你動(dòng)用就是出錯(cuò)。這樣編程不好 代碼可以說(shuō)很差 太不安全 太隨意 還要依靠運(yùn)氣 你說(shuō)呢?
  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-17 21:45 anthony

對(duì)啊,所以你不是說(shuō)要給它換個(gè)順序變成
while(temp != NULL && temp != list_tail->back )嗎?這樣不就安全了嗎?

如果你是這個(gè)意思,下面的就別看了,這樣不就安全了嗎?還能有什么問(wèn)題嗎?

可能我理解NULL有問(wèn)題,我覺(jué)得NULL就相當(dāng)于一個(gè)const變量,它永遠(yuǎn)指向內(nèi)存中的一個(gè)不存在的地方,“ list_tail->back 就是NULL ”沒(méi)錯(cuò),然后當(dāng)temp指向list_tail時(shí),然后根據(jù)while(temp!=NULL)進(jìn)入循環(huán)體,接著deltemp就指向了list_tail,然后temp = temp_back,就是此時(shí),
temp=NULL,然后刪除了list_tail,然后判斷時(shí),temp不是等于NULL了嗎?然后循環(huán)條件成立不了,

我的理解是NULL是指向一個(gè)相當(dāng)于CONST的地址空間,不管list_tail有沒(méi)有,我們都可以指向NULL,NULL和list_tail 沒(méi)關(guān)吧?

還有說(shuō)的“List_tail指向的內(nèi)容被析構(gòu)之后 系統(tǒng)就會(huì)給List_tail分配一個(gè)我們無(wú)法得知的指向”,我覺(jué)得它還是指向原來(lái)那個(gè)地方吧?

我觀察了下面的代碼

int *p = NULL;//此時(shí)p指向0x00000000
p = new int [200];//此時(shí)p指向0x00441ac0
delete p;
cin>>a;//此時(shí)p還指向0x00441ac0


然后還有
temp != list_tail->back 和 temp != NULL

對(duì)于前面的節(jié)點(diǎn)時(shí)它們是一樣的,但在最后那個(gè)點(diǎn)時(shí),即deltemp = list_tail時(shí),然后temp = temp->back(就是NULL)了,然后系統(tǒng)把list_tail刪了,然后list_tail還指向那個(gè)系統(tǒng)單元(就是只是系統(tǒng)把房子里的人趕了出去,但門(mén)牌號(hào)還是那個(gè)),然后再進(jìn)入循環(huán)條件,然后此時(shí)list_tail->back 引用就會(huì)出錯(cuò)了,因?yàn)閘ist_tail里面已經(jīng)沒(méi)“人”了,在加一個(gè)back相當(dāng)里面的一個(gè)人,所以會(huì)出錯(cuò),

不知道你能否明白我的意思,或者可能我沒(méi)明白你的意思,還有一個(gè)就是NULL的問(wèn)題,就是temp的指向的內(nèi)容被回收,但它還是可以指向地址,現(xiàn)在就是指向NULL,只要temp!=NULL,只是判斷temp的數(shù)值而已,呵呵,寫(xiě)著寫(xiě)著就變很羅嗦了,呵呵   回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-05-09 00:41 lele

呵呵 這段時(shí)間有事離開(kāi)了
我的意思就是感覺(jué)編程不能碰運(yùn)氣,還是以安全為上是好習(xí)慣
走查會(huì)根據(jù)編譯器不同而分配給你用的內(nèi)存的初始內(nèi)容不同。誰(shuí)也不能控制。  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-05-12 10:14 anthony

呵呵,同意編程不能靠運(yùn)氣。
 
可能我水平太低吧,不能理解指針的真正含義?也不能理解你的意思。
 
我實(shí)在不明白list_tail->back=null,然后temp=list_tail->back,然后temp不是指向了null嗎?對(duì)于一個(gè)指針我覺(jué)得可以對(duì)它進(jìn)行任何賦值,然后temp!=null只是拿存放指針本身的那塊內(nèi)存里面的數(shù)值去和0X0000000內(nèi)存地址比較,即使指向的內(nèi)容被析構(gòu)了,但指針?biāo)瑯诱贾膬?nèi)存空間,拿temp和null比只是存放temp指針那塊內(nèi)存里面的數(shù)值和null比,不是存放temp指針的那塊內(nèi)存里面的數(shù)值指向的內(nèi)存,怎么會(huì)出錯(cuò)呢?
 
不過(guò)你的代碼看起來(lái)真的很舒服,不知道你是怎么做到的,就是我寫(xiě)的時(shí)候縮排格式,我也一直在注意,按照《高質(zhì)量程序設(shè)計(jì)指南 C++/C語(yǔ)言》 上面的寫(xiě)法來(lái)寫(xiě)的,但還是感覺(jué)有點(diǎn)亂,是不是注釋寫(xiě)得太多會(huì)顯得亂呢?這方面得向你請(qǐng)教,呵呵
  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-06-07 14:25 lele

問(wèn)題不是出在temp是出在list_tail->back
list_tail對(duì)back的操作
back已經(jīng)被釋放了,不可再訪問(wèn)

呵呵 我水平很一般,前幾天ACM亞洲銀獎(jiǎng)的同學(xué)敲代碼,半小時(shí)做三道題,我都崩潰了……
慢慢來(lái)吧,總是天外有天的。  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-07-26 11:35 anthony

list_tail->back不就是null嗎?它沒(méi)有指向哪個(gè)對(duì)象,只是指向null那個(gè)地址0x00000000,而已,null就是0x00000000,沒(méi)有指向哪個(gè)對(duì)象,呵呵,

好長(zhǎng)時(shí)間沒(méi)過(guò)來(lái)了,不知道你是否也還記得你所寫(xiě)的,和我們討論的,我剛是從頭到尾又看了編。

acm亞洲銀獎(jiǎng)?那很厲害的,同時(shí)呢我也參加過(guò)acm,也見(jiàn)過(guò)好多acm的同學(xué)的代碼,還有網(wǎng)上的一些比較厲害的人的代碼,因?yàn)樗麄冏非蟮氖撬俣龋还苁撬惴ㄐ剩€是敲程序的速度,所以我看過(guò)的acm代碼的風(fēng)格沒(méi)有你寫(xiě)得好,我還記得我那時(shí)候見(jiàn)他們敲字得速度,驚訝得說(shuō)不出話來(lái)了,呵呵  回復(fù)  更多評(píng)論   

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-07-26 11:53 anthony



哈哈,抱歉,終于知道我哪里出問(wèn)題了,你看下是不是這里:

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-17 18:09 lele
呵呵 我都被你誤導(dǎo)了 temp != list_tail->back 和 temp != NULL
這兩局并沒(méi)有區(qū)別 list_tail->back 就是NULL


在list_tail沒(méi)被刪除前,這兩句的確是一樣的,可list_tail->back被刪后,這就不一樣了,因?yàn)閠emp沒(méi)有引用->back,而list_tail引用了back,而list_tail被刪除了,所以不能引用list_tail->back,而就像你前面告訴我的

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-04-14 23:11 lele
temp != list_tail->back && temp != NULL這里依然有個(gè)問(wèn)題就是
先判斷temp != list_tail->back會(huì)出錯(cuò),還是把兩個(gè)語(yǔ)句調(diào)換一下位置
這樣就能保證安全性了 呵呵




還是你提醒了我

# re: 一個(gè)要引起注意的delete動(dòng)作 2007-06-07 14:25 lele
問(wèn)題不是出在temp是出在list_tail->back
list_tail對(duì)back的操作
back已經(jīng)被釋放了,不可再訪問(wèn)


你是不是敲錯(cuò)了,是list_tail被釋放了??呵呵



謝謝你的指點(diǎn)啊,經(jīng)過(guò)這樣討論,我覺(jué)得應(yīng)該對(duì)指針和鏈表的認(rèn)識(shí)又進(jìn)一步了,謝謝你啊,呵呵  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2007年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(1)

隨筆檔案

文章檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产综合在线| 午夜精品久久久久久久蜜桃app| 久久久久一区二区三区| 亚洲欧美中文在线视频| 亚洲欧美精品伊人久久| 久久成人这里只有精品| 久久久久久久欧美精品| 免费亚洲电影在线观看| 欧美日韩在线免费视频| 国产日韩1区| 亚洲经典在线看| 亚洲在线观看视频网站| 久久亚裔精品欧美| 亚洲精品日韩一| 午夜精品亚洲| 欧美成人a视频| 国产免费成人av| 久久精品亚洲精品| 欧美国产日产韩国视频| 欧美色视频在线| 狠狠色丁香婷综合久久| 夜夜爽www精品| 久久久久欧美精品| 亚洲肉体裸体xxxx137| 午夜精品成人在线| 欧美精品久久久久久久免费观看| 国产精品亚洲аv天堂网| 在线成人小视频| 小黄鸭精品密入口导航| 亚洲国产中文字幕在线观看| 久久国产免费看| 国产精品女人网站| 一区二区三区欧美亚洲| 久久综合狠狠综合久久激情| 一区二区成人精品| 欧美成人精品影院| 激情国产一区二区| 欧美在线观看视频一区二区三区| 亚洲精品偷拍| 免费观看成人鲁鲁鲁鲁鲁视频| 国产免费观看久久| 亚洲一区二区三区在线看| 91久久国产精品91久久性色| 久久久久欧美| 国产一区二区三区直播精品电影 | 欧美精品在线观看91| 狠狠色丁香婷综合久久| 久久精品欧洲| 午夜影院日韩| 国产日韩精品一区二区浪潮av| 亚洲一区二区三区乱码aⅴ| 亚洲欧洲日韩在线| 欧美精品偷拍| 一个人看的www久久| 91久久中文| 欧美日韩精品免费看| 亚洲精品麻豆| 亚洲国产精品久久人人爱蜜臀| 久久综合九色九九| 亚洲国产欧美一区| 亚洲国产欧美一区| 欧美日韩国产不卡| 亚洲综合三区| 欧美在线播放视频| 亚洲高清视频的网址| 亚洲国产精品久久91精品| 欧美激情一区二区三区全黄| 一区二区三区视频在线| 亚洲影音一区| 在线观看av一区| 91久久国产综合久久| 国产精品s色| 久久久久久网| 亚洲午夜久久久| 国产日韩av高清| 久久久成人精品| 久久婷婷久久| 一区二区三区免费观看| 一区二区日韩伦理片| 国产麻豆午夜三级精品| 久久久久国产精品一区二区| 久久亚洲一区二区| 亚洲最黄网站| 亚洲免费一在线| 亚洲风情亚aⅴ在线发布| 亚洲欧洲精品一区二区三区波多野1战4 | 日韩一级在线观看| 亚洲午夜精品网| 一区二区三区在线免费观看| 91久久久亚洲精品| 国产亚洲一本大道中文在线| 亚洲电影在线播放| 国产精品入口| 亚洲精品影院| 尤物99国产成人精品视频| 在线视频精品| 亚洲欧洲精品一区二区三区| 亚洲欧美福利一区二区| 亚洲精品一区二区网址| 欧美在线国产| 亚洲一区二区少妇| 免费在线欧美视频| 久久综合久久综合久久综合| 欧美日韩亚洲高清| 欧美成人一区二区三区| 国产欧美日韩视频一区二区| 亚洲欧洲午夜| 一区二区三区在线免费观看| 亚洲一区二区三区高清| 一本色道久久综合亚洲精品不 | 久久人体大胆视频| 国产精品大片wwwwww| 欧美成人一区二区三区片免费| 国产伦精品一区二区三区在线观看 | 日韩视频一区二区在线观看 | 亚洲一区二区三区高清| 99热在这里有精品免费| 久久中文在线| 美腿丝袜亚洲色图| 国产视频一区在线观看一区免费| 伊人天天综合| 午夜日韩视频| 欧美日韩在线视频一区二区| 久久视频一区| 国产在线麻豆精品观看| 亚洲午夜国产成人av电影男同| 最新中文字幕亚洲| 能在线观看的日韩av| 麻豆精品在线播放| 激情久久综艺| 久久久久.com| 欧美成人在线免费观看| 亚洲电影激情视频网站| 久久久久久久综合色一本| 久久一区二区三区四区五区| 国产亚洲精品bt天堂精选| 亚洲欧美久久久久一区二区三区| 亚洲欧美日韩精品一区二区| 国产精品久久二区二区| 午夜精品一区二区在线观看| 久久精品中文字幕一区二区三区| 国产一区二区三区日韩| 久久er99精品| 欧美激情中文字幕一区二区| 亚洲激情成人| 欧美日韩免费一区二区三区视频 | 午夜日韩激情| 久久久999精品视频| 一区二区视频免费在线观看 | 欧美一级理论性理论a| 久久久欧美精品sm网站| 亚洲电影在线观看| 欧美精选午夜久久久乱码6080| 99re6热在线精品视频播放速度| 亚洲欧美久久久| 国产有码一区二区| 男女精品网站| 一区二区三区蜜桃网| 久久国产欧美| 亚洲精品日韩久久| 国产精品久久久久久久7电影| 午夜影院日韩| 亚洲精品久久久久| 欧美在线二区| 99精品欧美一区二区蜜桃免费| 欧美三级黄美女| 久久国产欧美| 一区二区三区四区国产| 麻豆精品在线视频| 亚洲欧美成人一区二区三区| 亚洲成人在线网站| 欧美日韩调教| 老司机午夜精品视频在线观看| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲欧美99| 亚洲第一视频网站| 国产精品视频久久久| 欧美成人一区二区三区片免费| 亚洲图片在线观看| 老色鬼精品视频在线观看播放| 久久蜜桃精品| 一区二区三区国产精华| 美女视频黄免费的久久| 在线亚洲欧美| 亚洲国产精品第一区二区| 国产精品久久久久秋霞鲁丝| 久热精品在线| 先锋影院在线亚洲| 99视频精品免费观看| 欧美1区2区3区| 久久精品91久久久久久再现| 在线亚洲电影| 91久久精品日日躁夜夜躁国产| 国产视频在线观看一区二区三区| 欧美精品在线观看| 欧美福利专区| 欧美/亚洲一区| 久久一区二区三区av| 欧美在线免费观看| 亚洲一区日韩在线|