• <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>
            春暖花開
            雪化了,花開了,春天來了
            posts - 149,comments - 125,trackbacks - 0

                   剛剛休息了一個(gè)暑假。不要盲目羨慕我啊,只有短短一個(gè)星期。上研以來,還真的沒有什么假期可言,寒暑兩假一年加起來也就兩個(gè)多星期,相比同學(xué)悠哉的兩三個(gè)月來說真的是少啊。
                   眼看明年也快要畢業(yè)了,于是邀請(qǐng)父母還有淘氣的小侄來北京逛逛看看。父親的北京記憶還停留在80年代初,還話說他開著大卡車從除了天門前的其他街道呼嘯而過。北京已經(jīng)變化得令他陌生。小侄則郁悶為什么去哪都要不停的倒車,嚷著再不做地鐵的他,做了一回公交后,再也沒有這種想法。
                    上星期還算天公作美,剛開始的幾天還算溫度適宜,領(lǐng)著逛了逛石景山游樂園,鳥巢,天文館,北京市海洋館,西單,前門,天安門。剩下幾天的高溫天氣,奈何我有興致,他們卻個(gè)個(gè)都不逛了。原因有二,一是money消耗了不少,父母也替我心疼錢了;二是高溫加交通不順,老的累了,小的也累了。情愿開著空調(diào),家里看電視。
                    幾天下來,小侄竟然發(fā)出了這樣的感慨,北京沒有家好。父母也覺得沒有家好。在這個(gè)城市生活了兩年多的我,為什么沒有這種感覺呢。習(xí)慣了,習(xí)慣了擁堵,習(xí)慣了走路,習(xí)慣了忙碌,習(xí)慣了這個(gè)城市帶給我的感覺,也漸漸覺得自己融入了進(jìn)來。畢竟這里會(huì)讓自己跑得更快些,跳得更高些,是這里的機(jī)遇與挑戰(zhàn)吸引了我,我想這也是吸引很多人的理由。要不,這么多人,擁擠在這個(gè)城市總該有個(gè)往前奔的理由。
                    還沒畢業(yè),所以高得不能再高的房價(jià)還暫時(shí)對(duì)我?guī)Р粊硎裁礇_擊,只是眼下的經(jīng)濟(jì)形式,讓我面臨著就業(yè)壓力。父母的到來,讓我為自己找到了一個(gè)很好放松的理由。假期的結(jié)束,又讓自己回到了畢業(yè)的思考。
                    似乎這是一個(gè)熱門話題,身邊的同學(xué)、同事以及朋友都會(huì)問及此事。程序員是我的首選職業(yè),因?yàn)槲蚁矚g,喜歡那種挑戰(zhàn)和不斷學(xué)習(xí)的感覺,享受那種解決問題的快樂。我會(huì)選擇這個(gè)一直下去,有著成為小小專家的夢(mèng)想。只是現(xiàn)在需要一個(gè)跳板,跳得更高,飛得更遠(yuǎn)。
                     夢(mèng)能飛得多遠(yuǎn),在于我能跑得多塊。假期給我?guī)砹艘恍┢v,看看《蠟筆小新》,居然能緩解疲勞。其實(shí)小新有時(shí)比我小侄聽話好多。今天終于恢復(fù)了早起的習(xí)慣,工作也要認(rèn)真起來。舊項(xiàng)目終于完結(jié)了,新項(xiàng)目又要開始了,項(xiàng)目總結(jié)也要趕著寫,學(xué)習(xí)進(jìn)步也要加緊些。事情很多,都得一件一件來。在豆瓣網(wǎng)上看到的晨型人,5點(diǎn)多起來對(duì)于我來說真的太困難了,還是老時(shí)間起來吧,七點(diǎn)多,才能保證一天之精神飽滿。加油起來,堅(jiān)持就會(huì)勝利。

            posted @ 2009-08-19 19:38 Sandy 閱讀(256) | 評(píng)論 (0)編輯 收藏
                 摘要: 目前做了一些版本涉及到海外的一些東西, 有些沒有辦法測試,只要寫死IMSI號(hào)碼。每回翻郵件真的很痛苦,遂在網(wǎng)絡(luò)上查了一下。還挺全的。摘自:http://blog.csdn.net/wyymaomi/archive/2009/04/19/4091396.aspx 國際移動(dòng)客戶識(shí)別碼 IMSI International Mobile Subscriber Identification Number&...  閱讀全文
            posted @ 2009-08-06 11:41 Sandy 閱讀(8176) | 評(píng)論 (0)編輯 收藏

                     最近越來越感覺效率的重要性。為什么呢?
                     寫程序不僅僅是簡單的實(shí)現(xiàn)功能。原來寫代碼時(shí)沒有注意這些問題,現(xiàn)在暴漏出來了,也無計(jì)可施。多個(gè)功能再加界面,導(dǎo)致了界面很慢。用戶體驗(yàn)不好。所以這需要在以后工作中引以為戒。

                     要把自己的代碼寫的漂亮一些。
            posted @ 2009-08-05 17:01 Sandy 閱讀(214) | 評(píng)論 (0)編輯 收藏

            今天在進(jìn)行memcpy出現(xiàn)了一些問題。
            原因是這樣的:
            我定義了這樣一個(gè)接口,里面涉及memcpy操作。

            舉個(gè)例子吧,如接口addItem,
            void addItem(int iType, LPVOID *pItem);

            里面有一個(gè)對(duì)象是TCHAR szStr[512];
            我直接進(jìn)行了這樣的拷貝,memcpy(szStr, pItem, sizeof(szStr));
            今天就出問題了。提示某塊內(nèi)存無法訪問。于是重新看這個(gè)問題。為什么會(huì)這么寫這樣的接口呢?
            我原先寫的是 void addItem(int iType, TCHAR *pItem);
            后來由于需求的變化,變成了LPVOID。改成這個(gè)以后,原先的字符串wcscpy就變成了memcpy。這個(gè)一直沒有引起警覺。其實(shí)這一步的改變,就應(yīng)該對(duì)接口做相應(yīng)的調(diào)整,接口應(yīng)該變?yōu)?br>void addItem(int iType, LPVOID *pItem, DWORD cbItem);
            增加一個(gè)參數(shù)來說明pItem的大小。然而這一步?jīng)]有做。

            所以今天的教訓(xùn)就是要注意修改接口的時(shí)候,注意相應(yīng)的變化。

            還有是字符串的操作問題,寬字符和ASCII字符串的操作要注意。

            posted @ 2009-07-29 11:58 Sandy 閱讀(197) | 評(píng)論 (0)編輯 收藏
            這也是《程序員面試攻略》上的一道題,題目是這樣的:
            請(qǐng)編寫一個(gè)函數(shù),確定一個(gè)整數(shù)的計(jì)算機(jī)內(nèi)部表示中有幾個(gè)“1”。

            思索了一下這個(gè)題目,我是這樣考慮的,也學(xué)書上給出偽代碼
            count = 0;
            while (這個(gè)整數(shù)不為0)
            {
                  如果這個(gè)整數(shù)對(duì)2求余的結(jié)果是1,則count加1;
                 將這個(gè)整數(shù)向右移移位
            }

            代碼寫出來是這樣的:
            int numOnesInBinary(int num)
            {
                
            int count = 0;
                
            while (num != 0)
                
            {
                    
            if (num % 2 == 1)
                        count
            ++;
                    num 
            = num>>1;
                }


                
            return count;
            }

            看了一下書中的答案,的確比我簡練很多。對(duì)于求余這個(gè)方法還是比較笨的。書中采用了邏輯與。

            判斷條件從“num%2 == 1”變成 “num&1 == 1”,從程序中更傾向與后者。
            所以在分析問題的時(shí)候,要學(xué)會(huì)用邏輯“與、或、異或”進(jìn)行判斷。

            到這一步,看似已經(jīng)很完美了。但是書中又出奇的給了另一種解法。這種想法我真的沒有想到。

            想法的出發(fā)點(diǎn)是考慮一個(gè)數(shù)字減1時(shí),它的二進(jìn)制發(fā)生了什么變化。減1得到的結(jié)果是,從最低位的1到最低位都發(fā)生了翻轉(zhuǎn),其他高位保持不變。如果您對(duì)這個(gè)整數(shù)和減一后的結(jié)果進(jìn)行AND操作,得到的新的數(shù)字與原來的整數(shù)相比,只有最后一個(gè)1變成0.

            如果進(jìn)行多次這樣的操作,這個(gè)整數(shù)的值變?yōu)?。這樣我們也就獲得了這個(gè)數(shù)的計(jì)算機(jī)表示中“1”的個(gè)數(shù)。

            int numOnesInBinary2(int num)
            {
                
            int count = 0;
                
            while(num != 0)
                
            {
                    num 
            = num & (num-1);
                    count
            ++;
                }

                
            return count;
            }


            第一方法的時(shí)間復(fù)雜度為o(n),第二種的時(shí)間復(fù)雜度為o(m),m為1的個(gè)數(shù)。

            后記:
            最近一周多,一直在做這本書上的編程題。一天3道,自己先嘗試編寫,運(yùn)行成功后再與書上的解答進(jìn)行對(duì)比。稍有幾次略感比書上稍好些。但大多數(shù)情況還是效率差一些。想想原因,還是練得比較少。所以繼續(xù)努力。多多積累,養(yǎng)成良好的思維習(xí)慣。

            posted @ 2009-07-28 15:56 Sandy 閱讀(721) | 評(píng)論 (3)編輯 收藏
            編程無他,唯手熟爾。

            七星重劍的博客上看到的,非常贊同。
            posted @ 2009-07-28 15:11 Sandy 閱讀(246) | 評(píng)論 (0)編輯 收藏
            這是《程序員面試攻略》上的一道題,先前也有一位公司同事問過我,今天有重新拿起看了一下。

            書中介紹了兩種方法
            第一種是這樣的利用強(qiáng)制類型轉(zhuǎn)換
            bool endianness()
            {
                  int testNum;
                 char*  ptr;

                 testNum = 1;
                 ptr = (char*)&testNum;
                 return ptr;
            }

            這個(gè)方法還比較好理解。

            第二種方法就是利用union。
            bool endianness()
            {
                union{
                     int theInteger;
                     char singleChar;
               }endianTesg;

               endianTest.theInteger = 1;
               return endianTest.singleChar;
            }

            這種方法很巧妙。帶著困意就是沒有看懂,一個(gè)個(gè)問號(hào)就蹦出來了?這是為什么呢?

            說實(shí)話,union在學(xué)習(xí)和工作中用的還真的不是很多。其用法還真是不記得。
            所以趕快到網(wǎng)上去搜了一下。有篇文章還不錯(cuò),我看懂了。
            共用體union用法講解
            鏈接地址:http://blog.ednchina.com/likee/20666/message.aspx

            Union表示幾個(gè)變量公用一個(gè)內(nèi)存位置, 在不同的時(shí)間保存不同的數(shù)據(jù)類型和不同長度的變量。其長度為Union中最大的變量長度。

            這樣,我們就不難理解上面的程序,theInteger和singleChar是共用一個(gè)內(nèi)存位置的,如果是小尾數(shù)法的話,那么singleChar為1,對(duì)應(yīng)theInteger的低八位;如果是大尾數(shù)法的話,那么singleChar為0, 對(duì)應(yīng)theInteger的低八位。


            繼續(xù)努力學(xué)習(xí)!
            朝著夢(mèng)想加油前進(jìn)。
            posted @ 2009-07-28 15:04 Sandy 閱讀(797) | 評(píng)論 (0)編輯 收藏

            去同學(xué)那玩,看到這么一本書《C++沉思錄》。這本書很早聽過,但是沒有讀過。于是捧起書讀了幾章,感覺很是不錯(cuò)。其中第四章就是講“類設(shè)計(jì)者的核查表”。雖然用c++有幾年,但是有一些東西還是需要銘記于心的。

             

            類設(shè)計(jì)者的核查表

            一、        您的類需要一個(gè)構(gòu)造函數(shù)么?

            有些類太簡單,無需構(gòu)造函數(shù),但有些類太復(fù)雜,他們需要構(gòu)造函數(shù)來隱藏它們的內(nèi)部工作方式。

            二、           您的數(shù)據(jù)成員是私有的么?

            通常使用公有的數(shù)據(jù)成員不是什么好事,因?yàn)轭愒O(shè)計(jì)者無法控制何時(shí)訪問這些成員。

            三、           您的類需要一個(gè)無參的構(gòu)造函數(shù)么?

            如果一個(gè)類已經(jīng)有了構(gòu)造函數(shù),想聲明該類的對(duì)象可以不必顯示地初始化它們,則必須顯示地寫一個(gè)無參的構(gòu)造函數(shù)。

            四、           是不是每一個(gè)構(gòu)造函數(shù)初始化所有的數(shù)據(jù)成員?

            構(gòu)造函數(shù)的用途就是用一種明確定義的狀態(tài)來設(shè)置對(duì)象。對(duì)象的狀態(tài)由對(duì)象的數(shù)據(jù)成員進(jìn)行反映。每個(gè)構(gòu)造函數(shù)都要負(fù)責(zé)為所有的數(shù)據(jù)成員設(shè)置經(jīng)過明確定義的值。

            有時(shí)這種說法也未必總是正確的。有時(shí),類會(huì)有一些數(shù)據(jù)成員,它們只在它們的對(duì)象存在了一定時(shí)間之后才有意義。提這個(gè)問題,只是激勵(lì)你進(jìn)行思考。

            五、           類需要構(gòu)造函數(shù)么?

            不是所有有構(gòu)造函數(shù)的類都需要構(gòu)造函數(shù)。如果深入考慮一個(gè)類要做些什么,那么該類是否需要析構(gòu)函數(shù)的問題就十分明顯了。應(yīng)該問一問該類是否分配了資源,而這些資源又不會(huì)有成員函數(shù)自動(dòng)釋放,這就足夠了。特別是那些構(gòu)造函數(shù)里包含了new表達(dá)式的類,通常要在析構(gòu)函數(shù)中加上相應(yīng)的delete表達(dá)式,所以需要一個(gè)虛析構(gòu)函數(shù)。

            六、        類需要一個(gè)虛析構(gòu)函數(shù)么?

            有些類需要虛析構(gòu)函數(shù)只是為了聲明他們的析構(gòu)函數(shù)是虛的。當(dāng)然,決不會(huì)用做基類的類是不需要虛析構(gòu)函數(shù)的:任何虛函數(shù)只在繼承的情況下才有用。

            虛析構(gòu)函數(shù)通常是空的。

            七、           你的類需要復(fù)制構(gòu)造函數(shù)么?

            很多時(shí)候答案都是“不”,但是有時(shí)候答案是“是”。關(guān)鍵在于復(fù)制該類對(duì)象是否就相當(dāng)于復(fù)制其數(shù)據(jù)成員和基類對(duì)象。如果并不相當(dāng),就需要復(fù)制構(gòu)造函數(shù)。

            如果你的類在構(gòu)造函數(shù)內(nèi)分配資源,則可能需要一個(gè)顯示的復(fù)制構(gòu)造函數(shù)來管理資源。有析構(gòu)函數(shù)的類通常是析構(gòu)函數(shù)來釋放構(gòu)造函數(shù)分配的資源,這通常說明需要一個(gè)復(fù)制構(gòu)造函數(shù)。(空的虛析構(gòu)函數(shù)除外)

            如果不想用戶能夠復(fù)制該類的對(duì)象,就聲明復(fù)制構(gòu)造函數(shù)為私有的。如果其他的成員不會(huì)使用這些成員函數(shù),聲明就足夠了,沒有必要定義它們。

            八、           你的類需要一個(gè)賦值操作么?

            如果需要復(fù)制構(gòu)造函數(shù),同理多半也會(huì)需要一個(gè)賦值操作。

            九、           你的賦值操作符能正確地將對(duì)象賦給對(duì)象本身么?

            賦值總是用新值取代目標(biāo)對(duì)象的舊值。如果原對(duì)象和目標(biāo)對(duì)象是同一個(gè),而我們又奉行“先釋放舊值,再復(fù)制”的行事規(guī)程,那么就可能在還沒有實(shí)施復(fù)制之前就把原對(duì)象銷毀了。

            十、           你的類需要定義關(guān)系操作符么?

            如果你的類邏輯上支持相等操作,那么提供operate== operate!=可能會(huì)有好處。類似的,如果你的類的值有某種排序關(guān)系,那就可能會(huì)想提供余下的關(guān)系操作符。只要它們想創(chuàng)建你的類型的有序集合,你就必須提供關(guān)系操作符。

            十一  刪除數(shù)組時(shí)你記住了用delete[]么?

            這個(gè)形式的存在,是C++希望在保持與C的兼容性的同時(shí)關(guān)注效率。C++要求用戶告知要被刪除的是不是數(shù)組。如果是,該實(shí)現(xiàn)就可能會(huì)提供另一個(gè)地方來存儲(chǔ)長度,因?yàn)榕c數(shù)組所需的內(nèi)存量相比,這個(gè)常數(shù)的開銷會(huì)小很多。

            十二   記得在復(fù)制構(gòu)造函數(shù)和賦值操作符的參數(shù)類型中加上了const么?

            復(fù)制構(gòu)造函數(shù)應(yīng)該是像X::X(const X&)這樣,畢竟復(fù)制對(duì)象不會(huì)改變?cè)瓕?duì)象。實(shí)際上,由于綁定一個(gè)非const引用到一個(gè)臨時(shí)對(duì)象是非法的,使用X::X(X&)作為復(fù)制構(gòu)造函數(shù)不會(huì)允許復(fù)制任何特殊表達(dá)式的結(jié)果。同樣道理適用于賦值。

            十三   如果函數(shù)有引用參數(shù),它們應(yīng)該是const引用么?

            只有當(dāng)函數(shù)想改變參數(shù)時(shí),它才應(yīng)該有不用const聲明的引用參數(shù)。

             

               其中很多作者提到,提這些問題并不是希望去尋求答案,只是希望能夠激勵(lì)你進(jìn)行思考。所以當(dāng)我們?cè)O(shè)計(jì)一個(gè)類的時(shí)候,多思考一下,有沒有什么地方需要注意的,我們?cè)O(shè)計(jì)的類將會(huì)更合理,更健壯一些。
            posted @ 2009-07-25 08:32 Sandy 閱讀(302) | 評(píng)論 (0)編輯 收藏

            今天抱著書在做這么一道題:
            整數(shù)/字符串轉(zhuǎn)換
            編寫兩個(gè)轉(zhuǎn)換例程。第一個(gè)例程將一個(gè)字符串轉(zhuǎn)換成帶符號(hào)的整數(shù)。您可以假定這個(gè)字符串只包含數(shù)字和符號(hào)字符('-'),是一個(gè)格式正確的整數(shù),而且這個(gè)數(shù)字在int類型的范圍之內(nèi)。第二個(gè)例程將Int類型中存儲(chǔ)的有符號(hào)整數(shù)轉(zhuǎn)換回字符串。

            其中碰到了int與char的轉(zhuǎn)換問題。這個(gè)還真的把我難住了。我先用最笨的方法switch進(jìn)行了轉(zhuǎn)換。你也知道這肯定不是最優(yōu)的方法。直接轉(zhuǎn)換,值也肯定不對(duì)。

            后來發(fā)現(xiàn)竟然是這么使用的,趕快記錄下來。
            1、int 轉(zhuǎn)換成char
                  例如:
                            int  n = 1;
                            char ch = char(n + '0');
                            不過需要注意,此處的n只能是0-9之間的字符
            2、char轉(zhuǎn)換成Int
                            char ch = '9';
                             int n = int(ch) - int('0');
                              此處ch也是‘0’至‘9’的數(shù)字字符

            多多學(xué)習(xí),抓住機(jī)遇。

            posted @ 2009-07-24 17:45 Sandy 閱讀(2585) | 評(píng)論 (0)編輯 收藏

            快捷方式的讀取和創(chuàng)建

            一、快捷方式的獲取

            SHGetShortcutTarget

            功能:

            獲取快捷方式的目標(biāo)路徑

            原型:

            BOOL SHGetShortcutTarget(

              LPTSTR szShortcut,

              LPTSTR szTarget,

              int cbMax

            );

            參數(shù):

            szShortcut :包含快捷方式名字的字符串

            szTarget :包含快捷方式目標(biāo)路徑的字符串, 字符串的大小至少是cbMax

            cbMax :將被拷貝到緩存szTarget的最大字符串

            返回值:

            成功返回TRUE,否則返回FALSE

            示例代碼:

            TCHAR StartMenuFilePath[MAX_PATH];
            ::SHGetSpecialFolderPath(NULL, StartMenuFilePath, CSIDL_PROGRAMS, FALSE);
            TCHAR szShortPath[MAX_PATH];
            wsprintf(szShortPath, _T("%s\\%s"), StartMenuFilePath, _T("搜索.lnk"));
            TCHAR szFilePath[MAX_PATH];
            :SHGetShortcutTarget(szShortPath, szFilePath, sizeof(szFilePath));

            執(zhí)行完畢后,
            szFilePath 的值為shfind.exe

            二、快捷方式的創(chuàng)建

            SHCreateShortcut

            功能:

            創(chuàng)建快捷方式。

            原型:

            DWORD WINAPI SHCreateShortcut(

              LPTSTR szShortcut,

              LPTSTR szTarget

            );

            參數(shù):

            szShortcut :包含快捷方式名字和路徑的字符串。在路徑指定的位置創(chuàng)建快捷方式。

            szTarget 包含快捷方式目標(biāo)路徑和參數(shù)的字符串。大小限定在256個(gè)字符以內(nèi)。

            返回值:

            成功返回TRUE,否則返回FALSE。如果指定的快捷方式已經(jīng)存在的話將返回FALSE

            示例代碼:

            SHCreateShortcut(_T("\\搜索.lnk"), _T("shfind.exe"));
            執(zhí)行結(jié)果為在根目錄下創(chuàng)建了“搜索.lnk”這個(gè)快捷方式文件。

            三、補(bǔ)充說明

            這里主要針對(duì)獲取快捷方式的內(nèi)容進(jìn)行幾點(diǎn)說明:

            我們獲取快捷方式的時(shí)候,內(nèi)容不一定只包含路徑,有可能存在一下的情況,如:

            1、路徑后跟隨名稱

            \Windows\“開始”菜單\程序\任務(wù).lnk

            2、縮寫名

            poutlook.exe tasks

            \Windows\“開始”菜單\程序\ActiveSync.lnk

            :MSSYNCAPP

            3、路徑后跟隨數(shù)字

            \Windows\“開始”菜單\程序\游戲\icon.lnk

            shellres.dll,-8229

            考慮以上這幾種情況,我們?cè)讷@取快捷方式路徑時(shí),需要對(duì)路徑做一些特殊處理。這里重點(diǎn)說一下第二種情況,這個(gè)縮寫代表什么意思?在網(wǎng)上搜索了一下,原來我們可以在[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Rai\]鍵值下找到名為:MSSYNCAPP的子鍵,鍵值為1的子鍵數(shù)值指明了名為:MSSYNCAPP的程序名稱。但我們從這里獲得的值,有時(shí)也不是路徑,還會(huì)再次出現(xiàn)上述三種情況。所以,如果我們想從快捷方式中獲取路徑的話,就需要留意一些了。

            至于為什么會(huì)這樣,我還不是很明白。

            posted @ 2009-07-23 18:13 Sandy 閱讀(1651) | 評(píng)論 (1)編輯 收藏
            僅列出標(biāo)題
            共15頁: 1 2 3 4 5 6 7 8 9 Last 
            色偷偷888欧美精品久久久| 久久丝袜精品中文字幕| 精品综合久久久久久97超人| 国产精品免费看久久久| 久久精品中文字幕有码| 久久久久久国产精品无码下载| 久久久久AV综合网成人| 久久精品国产一区二区三区不卡| 国产成人无码精品久久久性色| 国产精品成人精品久久久| 狠狠色丁香婷婷久久综合五月| 99精品国产在热久久无毒不卡| 伊人久久亚洲综合影院| 久久综合中文字幕| 亚洲中文字幕无码久久综合网| 精品熟女少妇aⅴ免费久久| 色诱久久久久综合网ywww| 久久精品国产WWW456C0M| 国产99精品久久| 亚洲中文字幕无码久久2017| 四虎影视久久久免费观看| 久久国产精品-国产精品| 亚洲精品无码成人片久久| 久久99精品国产99久久6| 久久AV高清无码| 亚洲愉拍99热成人精品热久久| 色天使久久综合网天天| 99久久国产综合精品五月天喷水| 人妻少妇久久中文字幕| 日本强好片久久久久久AAA| 97精品伊人久久久大香线蕉| 午夜精品久久久久久影视riav| 久久www免费人成精品香蕉| 国产69精品久久久久9999| 91精品国产91久久久久久| 999久久久免费国产精品播放| 97久久天天综合色天天综合色hd| 2021精品国产综合久久| 精品国产福利久久久| 久久黄视频| 伊人久久大香线蕉综合5g|