精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試:有時候還需要多些自信

企業動態
今天遇到了個面試,其中有的問題我當時還真不能確定,遂發出來,大家分享。

今天遇到了個面試,其中有的問題我當時還真不能確定,遂發出來,大家分享。

先大致講一下流程,一面還挺順利,游刃有余;二面就有些緊張了,是個額頭頭發不多但是顯得很精干的男士(下文簡稱為A)。

只摘錄其中的部分我很“為難”的地方:

A:string是值類型是引用類型?

ME:(我心想string是class,肯定是)引用類型

A:那我有個方法,參數為string,我在里面改變他的值,原來的會變嗎?

ME:(這個我當時很猶豫,雖說string平時用,但是還真考慮過這個。我要是說會不會變吧,豈不是自打嘴巴?String是引用類型,怎么還值專遞呢?)

       當時我就記得園子里有句話:String是引用類型,但是用起來像值類型。我就說的是不變。

下面上一段代碼分析一下:

static void Foo(string  s)
        {
            s 
= "bbb";
        }

string s = "aaa";
            Foo(s);
Console.WriteLine(s);
這個確實是不會變的,調用完之后還是“aaa”,這是為什么呢?
1 string s = "aaa";
 2 00000051 8B 05 88 20 C0 02 mov         eax,dword ptr ds:[02C02088h] 
 3 00000057 89 45 B8         mov         dword ptr [ebp-48h],eax 
 4     92:             Foo(s);
 5 0000005a 8B 4D B8         mov         ecx,dword ptr [ebp-48h] 
 6 0000005d E8 A6 AF D4 FF   call        FFD4B008 
 7 00000062 90               nop              
 8     93:             Console.WriteLine(s);
 9 00000063 8B 4D B8         mov         ecx,dword ptr [ebp-48h] 
10 00000066 E8 95 24 3F 67   call        673F2500 
11 
12 
13 
14 
15 
16  static void Foo(string  s)
17     82:         {
18 00000000 55               push        ebp  
19 00000001 8B EC            mov         ebp,esp 
20 00000003 57               push        edi  
21 00000004 56               push        esi  
22 00000005 53               push        ebx  
23 00000006 83 EC 30         sub         esp,30h 
24 00000009 33 C0            xor         eax,eax 
25 0000000b 89 45 F0         mov         dword ptr [ebp-10h],eax 
26 0000000e 33 C0            xor         eax,eax 
27 00000010 89 45 E4         mov         dword ptr [ebp-1Ch],eax 
28 00000013 89 4D C4         mov         dword ptr [ebp-3Ch],ecx 
29 00000016 83 3D E0 8C 7B 00 00 cmp         dword ptr ds:[007B8CE0h],0 
30 0000001d 74 05            je          00000024 
31 0000001f E8 1D 91 57 68   call        68579141 
32 00000024 90               nop              
33     83:             s = "bbb";
34 00000025 8B 05 90 20 C0 02 mov         eax,dword ptr ds:[02C02090h] 
35 0000002b 89 45 C4         mov         dword ptr [ebp-3Ch],eax 
36     84:         }
37 0000002e 90               nop              
38 0000002f 8D 65 F4         lea         esp,[ebp-0Ch] 
39 00000032 5B               pop         ebx  
40 00000033 5E               pop         esi  
41 00000034 5F               pop         edi  
42 00000035 5D               pop         ebp  
43 00000036 C3               ret              

可以看到第2行將字符串的地址寫入到 eax,然后寫到堆棧的【ebp-48h】處;

調用Foo方法前,放到ecx中。

在方法Foo中,可以看到又經ecx放到了【ebp-3Ch】處;

在執行s=“bbb”的時候,同樣將新字符串的地址放到了【ebp-3Ch】處,但是原來的字符串并為更改,只是更改了臨時變量s的引用。

所以在調用完方法Foo之后,原來的字符串還是“aaa”,沒有改變。

所以這個時候我回答不變是對的,但是我不知道為什么string的傳遞是類似于值傳遞的,有點運氣了。

接下來,他又問

A:那如果我有個類,里面有string成員,我同樣改變他的值,外面的會變嗎?這個時候我回答的是可以改變。

是不是這樣呢?同樣,上代碼:

1 class C1
 2     {
 3         public string s1="aaa";
 4     }
 5 
 6  static void Foo(C1   c1)
 7         {
 8             c1.s1  = "bbb";
 9         }
10 
11  C1 c1 = new C1();
12             Foo(c1);
13             Console.WriteLine(c1.s1 );

 

1  Foo(c1);
 2 0000006c 8B 4D B8         mov         ecx,dword ptr [ebp-48h] 
 3 0000006f E8 94 AF 7F FF   call        FF7FB008 
 4 00000074 90               nop              
 5     93:             Console.WriteLine(c1.s1 );
 6 00000075 8B 45 B8         mov         eax,dword ptr [ebp-48h] 
 7 00000078 8B 48 04         mov         ecx,dword ptr [eax+4
 8 0000007b E8 80 24 52 67   call        67522500 
 9 
10 
11 
12  static void Foo(C1   c1)
13     82:         {
14 00000000 55               push        ebp  
15 00000001 8B EC            mov         ebp,esp 
16 00000003 57               push        edi  
17 00000004 56               push        esi  
18 00000005 53               push        ebx  
19 00000006 83 EC 30         sub         esp,30h 
20 00000009 33 C0            xor         eax,eax 
21 0000000b 89 45 F0         mov         dword ptr [ebp-10h],eax 
22 0000000e 33 C0            xor         eax,eax 
23 00000010 89 45 E4         mov         dword ptr [ebp-1Ch],eax 
24 00000013 89 4D C4         mov         dword ptr [ebp-3Ch],ecx 
25 00000016 83 3D E0 8C 13 00 00 cmp         dword ptr ds:[00138CE0h],0 
26 0000001d 74 05            je          00000024 
27 0000001f E8 AD 90 6A 68   call        686A90D1 
28 00000024 90               nop              
29     83:             c1.s1  = "bbb";
30 00000025 8B 05 90 20 D7 02 mov         eax,dword ptr ds:[02D72090h] 
31 0000002b 8B 4D C4         mov         ecx,dword ptr [ebp-3Ch] 
32 0000002e 8D 51 04         lea         edx,[ecx+4
33 00000031 E8 9A 16 45 68   call        684516D0 
34     84:         }
35 00000036 90               nop              
36 00000037 8D 65 F4         lea         esp,[ebp-0Ch] 
37 0000003a 5B               pop         ebx  
38 0000003b 5E               pop         esi  
39 0000003c 5F               pop         edi  
40 0000003d 5D               pop         ebp  
41 0000003e C3               ret              

在執行30行的時候eax是01DBC268,其內存的內容拷貝出來是:

54 0b a0 67 04 00 00 00 03 00 00 00 62 00 62 00 62 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

可以看出這是一個string的實例,前面的67a00b54是MT的地址,后面的00000004是字符串的實際長度,00000003是字符串有效內容的長度,

后面的3個0062是連著三個字符‘b’,看來確實是字符串“bbb”。再后面00的就不管了。

接著依次執行31和32行,則ecx是01D9EEC8,edx是01D9EECC;據猜測ecx應該是c1的地址,把內存考出來看一下:

d0 99 41 00 94 ee d9 01 00 00 00 00 24 43 9d 67 0a 00 00 00 70 07 a0 67 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

而此時edx就應該是s1的地址,可以看出edx就比ecx相差4,所以01d9ee94就應該是字符串“aaa”的地址,同樣考出來看看:

54 0b a0 67 04 00 00 00 03 00 00 00 61 00 61 00 61 00 00 00 00 00 00

可以看出,“aaa”和“bbb”的頭幾個部分完全是一樣的,就是后面的一個是61,一個是62.

那么問題很簡單了,知道把c1里的字符串地址從01d9ee94換成01DBC268就算OK了。事實上33行就是做這個事情的。

看一下執行完33行后的c1的內容:

d0 99 41 00 68 c2 db 01 00 00 00 00 24 43 9d 67 0a 00 00 00 70 07 a0 67 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

可以看出,確實是換了。

所以到這里,問題解決了。

#p#

接著這老大又問

A:有沒有其他方法可以改變字符串?

ME:加ref或out關鍵字可以,或者用指針。

我們看一下加ref(或加out,其實是一樣的)的為什么可以改變,更詳細的看一下。

static void Foo(ref string  s)
        {
            s
= "bbb";
        }

string s = "aaa";
            Foo(
ref s);
            Console.WriteLine(s );

繼續匯編:

1  string s = "aaa";
 2 0000004c 8B 05 88 20 ED 02 mov         eax,dword ptr ds:[02ED2088h] 
 3 00000052 89 45 B8         mov         dword ptr [ebp-48h],eax 
 4     92:             Foo(ref s);
 5 00000055 8D 4D B8         lea         ecx,[ebp-48h] 
 6 00000058 E8 AB AF D0 FF   call        FFD0B008 
 7 0000005d 90               nop              
 8     93:             Console.WriteLine(s );
 9 0000005e 8B 4D B8         mov         ecx,dword ptr [ebp-48h] 
10 00000061 E8 9A 24 49 67   call        67492500 
11 
12 
13 
14   static void Foo(ref string  s)
15     82:         {
16 00000000 55               push        ebp  
17 00000001 8B EC            mov         ebp,esp 
18 00000003 57               push        edi  
19 00000004 56               push        esi  
20 00000005 53               push        ebx  
21 00000006 83 EC 30         sub         esp,30h 
22 00000009 33 C0            xor         eax,eax 
23 0000000b 89 45 F0         mov         dword ptr [ebp-10h],eax 
24 0000000e 33 C0            xor         eax,eax 
25 00000010 89 45 E4         mov         dword ptr [ebp-1Ch],eax 
26 00000013 89 4D C4         mov         dword ptr [ebp-3Ch],ecx 
27 00000016 83 3D E0 8C 6D 00 00 cmp         dword ptr ds:[006D8CE0h],0 
28 0000001d 74 05            je          00000024 
29 0000001f E8 1D 91 61 68   call        68619141 
30 00000024 90               nop              
31     83:             s= "bbb";
32 00000025 8B 05 90 20 ED 02 mov         eax,dword ptr ds:[02ED2090h] 
33 0000002b 8B 4D C4         mov         ecx,dword ptr [ebp-3Ch] 
34 0000002e 8D 11            lea         edx,[ecx] 
35 00000030 E8 A3 0E 3C 68   call        683C0ED8 
36     84:         }
37 00000035 90               nop              
38 00000036 8D 65 F4         lea         esp,[ebp-0Ch] 
39 00000039 5B               pop         ebx  
40 0000003a 5E               pop         esi  
41 0000003b 5F               pop         edi  
42 0000003c 5D               pop         ebp  
43 0000003d C3               ret              

同樣,關注代碼的32~34行:

eax:01DEC25C,內容:

54 0b a0 67 04 00 00 00 03 00 00 00 62 00 62 00 62 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

確實是字符串“bbb”

ecx和edx都是:05C7E778,內容:0x01dcee94,這個是字符串“aaa”的地址。

執行完35行之后,地址05C7E778的內容變成了01DEC25C,在之后第9行代碼確實地址變成了01DEC25C,則可以推斷05C7E778是上個堆棧

s引用的位置,則35行的代碼則是將新“bbb”的地址寫到原來的s引用處。

A繼續問:ref和out有什么區別?

ME:我說兩者沒什么區別,就是out不要求變量初始化。

A:那要是初始化了呢,改變了之后是什么值?

ME:(這個我還真被問住了。不知道可以,但是不能亂說啊。)基于對out這個關鍵字的理解,我認為應該返回改變后的值。

如果將原來的ref改為out,匯編代碼完全相似,區別就是變量是否初始化問題,如果不初始化,其實變量在棧中也是有位置的,只不過地址內容為0.

如果初始化,則和ref完全一樣。代碼我就不貼了,大家可以自己調式看一看。

問題:為什么默認的字符串作為參數傳遞是類似的值傳遞呢?請大家告訴我。

靠,弄了半天,才記得所有傳遞默認都是值傳遞,這才是問題的根源。老了,腦袋記不清了,以前看C語言的時候還特別注意了這點,結果還是忘記了。

問題的答案請看我最下面的留言。

在這里有些誤導大家了,給大家致歉。

【編輯推薦】

  1. 求職者看面試官:和不懂技術的人談技術
  2. 思科認證CCIE考試介紹:費用及實驗面試等
  3. 面試官:我如何招到聰明又能做事的人
責任編輯:張攀 來源: 博客園
相關推薦

2023-06-01 07:50:42

JSDocTypeScriptAPI

2025-05-28 01:10:00

SQL索引MySQL

2022-11-02 08:55:43

Gofor 循環存儲

2017-12-11 17:14:56

ERP管理數字化

2025-05-28 00:00:00

CSS前端Flexbox

2018-09-20 22:04:01

2020-04-26 09:32:13

物聯網安全技術

2024-11-26 07:37:22

2022-11-15 11:13:10

域名Linux文件

2023-05-22 07:10:38

GPTpromptPerplexity

2024-10-14 08:39:25

2023-09-12 14:02:30

數組vector

2021-03-31 13:20:02

智慧城市物聯網5G

2025-10-16 03:00:00

HTTPgRPCAPI

2010-03-16 16:47:58

Java編程語言

2023-01-31 17:24:21

DPUCPUGPU

2022-12-12 08:17:29

2017-08-21 16:00:14

機器學習機器翻譯

2023-04-07 15:30:24

操作系統ChatGPT

2013-09-26 09:14:27

公有云云服務
點贊
收藏

51CTO技術棧公眾號

成人直播在线观看| 香蕉av一区二区三区| 区一区二视频| 欧美一区2区视频在线观看| 毛片在线视频观看| 日本韩国精品一区二区| 久久se这里有精品| 国内免费久久久久久久久久久| caopeng视频| 精品国产亚洲一区二区三区大结局| 亚洲一级在线观看| 日本一区不卡| 欧美一级视频免费| 蜜臀av在线播放一区二区三区| 九九视频这里只有精品| 我和岳m愉情xxxⅹ视频| 电影中文字幕一区二区| 粉嫩av一区二区三区免费野| 天天干天天操天天干天天操| 天堂成人在线| 另类中文字幕网| 91精品国产91久久久久| 日韩在线视频网址| 在线成人动漫av| 欧美不卡一二三| 网站一区二区三区| 国产美女福利在线观看| 国产精品久久毛片a| 激情欧美一区二区三区中文字幕| 91国产精品一区| 鲁大师成人一区二区三区| 久色乳综合思思在线视频| 真实乱视频国产免费观看| 一区二区在线视频观看| 欧美男人的天堂一二区| 中文字幕无码精品亚洲资源网久久| 91在线看片| 久久久国产一区二区三区四区小说| 91手机在线观看| 亚洲熟女乱色一区二区三区久久久| 欧美资源在线| 97精品在线观看| 精品无码人妻一区二区三| 亚欧美无遮挡hd高清在线视频 | 女人和拘做爰正片视频| 午夜av在线免费观看| 国产精品久久久久久久久免费丝袜| 激情五月综合色婷婷一区二区| 99精品久久久久久中文字幕| 久久国产人妖系列| 国产精品入口免费视频一| 久久精品国产成人av| 91久久夜色精品国产九色| 欧美另类69精品久久久久9999| 国产福利在线导航| 第一sis亚洲原创| 国产一区二区三区精品久久久 | 99999精品| 亚洲伦理一区二区| 欧美一区二区三区在线观看视频| 怡红院亚洲色图| 成人免费在线观看视频| 欧美丝袜第三区| 久久国产精品国产精品| 欧美videos粗暴| 在线成人免费观看| 97超碰人人看| 久久九九精品视频| 日韩欧美一级二级| 妖精视频一区二区| 日本在线中文字幕一区| 亚洲欧美日韩视频一区| 久久午夜福利电影| 忘忧草精品久久久久久久高清| 日韩视频一区在线| 免费在线观看日韩| 一本色道久久综合亚洲精品不卡 | 大胆国模一区二区三区| 日韩女优av电影| 在线免费观看污视频| 亚洲桃色综合影院| 日韩中文娱乐网| 亚洲av无码一区二区三区在线| 欧美va天堂在线| 97国产精品免费视频| 成人在线免费看视频| 日本人妖一区二区| 亚洲伊人久久综合| 亚洲 小说区 图片区 都市| 国产午夜亚洲精品午夜鲁丝片| 亚洲一区二区免费视频软件合集| www在线视频| 大荫蒂欧美视频另类xxxx| 在线观看av日韩| 久久av偷拍| 亚洲欧美精品在线| 成人免费毛片xxx| 国产欧美欧美| 国产日韩视频在线观看| 刘亦菲毛片一区二区三区| 91日韩一区二区三区| 一区二区视频国产| 九色porny丨国产首页在线| 欧美无砖专区一中文字| 无码人妻久久一区二区三区蜜桃| 你懂的视频欧美| 久久成人国产精品| 狠狠狠狠狠狠狠| 国产91丝袜在线18| 亚洲va久久久噜噜噜久久狠狠| av在线免费网址| 色999日韩国产欧美一区二区| 亚洲视频在线不卡| 国产一区二区三区网| 欧美成人全部免费| 国产成人自拍偷拍| 白白色 亚洲乱淫| 黄色一级视频播放| 成人免费福利| 亚洲国产日韩欧美综合久久| 欧美精品久久久久久久久46p| 久久大逼视频| 亚洲综合在线播放| 在线毛片网站| 日本久久电影网| 亚洲成人av免费在线观看| 亚洲天天影视网| 国产精品毛片a∨一区二区三区|国| 亚洲精品国产精| 亚洲视频一区在线观看| 日韩有码免费视频| 婷婷成人在线| 亚洲91精品在线观看| 精品人妻一区二区三区浪潮在线| 国产欧美一区二区精品久导航| 内射国产内射夫妻免费频道| 亚洲三级av| 欧美另类第一页| a级片免费观看| 中文字幕在线播放不卡一区| 亚洲精品怡红院| 亚洲精品无吗| 欧美在线国产精品| 少妇高潮一区二区三区69| 一区二区三区高清| 中文字幕avav| 欧美jizzhd精品欧美巨大免费| 国产在线视频不卡| 18视频免费网址在线观看| 91久久免费观看| 午夜理伦三级做爰电影| 亚洲免费婷婷| 久久青青草原一区二区| 伊人网在线播放| 亚洲欧美激情一区| aaa在线视频| 国产三级精品在线| 五月天婷婷激情视频| 加勒比久久综合| 国产精品久久久久久久久| 国产黄色片在线观看| 欧美性感一区二区三区| 国产一二三av| 国产成人自拍高清视频在线免费播放| 992tv成人免费观看| 免费精品一区| 午夜精品福利视频| 亚洲欧美日韩动漫| 色欧美日韩亚洲| 国产第一页精品| 国产呦萝稀缺另类资源| 99久久免费观看| 欧美电影完整版在线观看| 欧美专区在线视频| 91成人高清| 日韩欧美中文字幕精品| 日本熟妇色xxxxx日本免费看| 成人美女在线视频| 黄色一级一级片| 久久密一区二区三区| 97久草视频| 亚洲淫成人影院| 日韩在线观看网址| 成人小说亚洲一区二区三区| 欧美色视频日本高清在线观看| 亚洲综合欧美综合| 国产精品综合二区| 男人天堂网视频| 久久综合电影| 好吊妞www.84com只有这里才有精品| 原纱央莉成人av片| 久久精品国产欧美亚洲人人爽| 亚洲国产精品suv| 色视频欧美一区二区三区| 中文字幕在线有码| 久久精品夜色噜噜亚洲a∨| 亚洲精品第三页| 99亚洲一区二区| 综合一区中文字幕| 欧美a级网站| 成人做爽爽免费视频| 亚洲天堂手机| 欧美黄色片视频| 在线免费看av| 日韩精品福利网站| 精品人妻一区二区三区含羞草 | 国产精品人妻一区二区三区| 亚洲成a人v欧美综合天堂下载| 蜜桃av乱码一区二区三区| 国产黄色成人av| 婷婷激情四射五月天| 亚洲激情黄色| 中国成人亚色综合网站| 啄木系列成人av电影| 91九色极品视频| 九色成人搞黄网站| 97在线看福利| 五月天激情在线| 日韩中文字幕亚洲| 黑人与亚洲人色ⅹvideos| 亚洲第一男人天堂| 国产男男gay网站| 在线欧美日韩精品| 中文字幕亚洲高清| 亚洲午夜精品17c| 日本黄色片免费观看| 日本一区二区三区视频视频| 亚洲中文字幕一区| 国产成人av一区二区三区在线| 一区二区在线免费看| 三级欧美韩日大片在线看| 人妻av中文系列| 欧美三级小说| 麻豆md0077饥渴少妇| 成人在线免费观看91| 久久影院理伦片| 欧美人成在线观看ccc36| ts人妖另类在线| 免费观看在线一区二区三区| 91青草视频久久| 99亚洲男女激情在线观看| 国产精品久久久久久久久久久久| 亚洲优女在线| 青青青国产精品一区二区| 交100部在线观看| 97人人爽人人喊人人模波多| 不卡的av影片| 国语自产精品视频在线看| 欧美性爽视频| 欧美精品久久久久久久久久| 欧美xxxx免费虐| 国内精久久久久久久久久人| 日本精品600av| 欧美精品videosex牲欧美| 大黄网站在线观看| 国内外成人免费激情在线视频网站| 金瓶狂野欧美性猛交xxxx| 97人人做人人爱| 最新日韩三级| 国产精品免费久久久| 国产激情欧美| 91亚洲一区精品| 亚洲午夜免费| 国产亚洲第一区| 视频国产一区| 一区二区三区久久网| 一区二区影视| 国产中文字幕二区| 视频一区欧美精品| 欧美美女性视频| 国产999精品久久| 色呦呦一区二区| 国产丝袜欧美中文另类| 来吧亚洲综合网| 亚洲一区二区高清| www欧美在线| 欧美日本视频在线| 亚洲第九十九页| 亚洲欧美日韩一区二区三区在线| av在线免费播放网站| 久久av.com| 在线高清av| 国产美女精品视频免费观看| 欧洲大片精品免费永久看nba| 国产欧美日韩一区二区三区| 国产精品美女久久久久久不卡 | 成人做爰69片免网站| 中文字幕在线观看不卡视频| 久久久久亚洲av成人片| 日韩欧美在线中文字幕| 国产精品乱码久久久| 亚洲精品电影久久久| 在线观看免费黄色| 久久久久免费精品国产| av在线日韩| 国产chinese精品一区二区| 精品久久综合| 欧美黄色免费网址| 三级影片在线观看欧美日韩一区二区| 深爱五月综合网| 2020国产精品久久精品美国| www.xx日本| 欧美性猛xxx| www.黄色av| 中文字幕精品久久久久| h片精品在线观看| 国产男人精品视频| 亚洲区小说区图片区qvod按摩| 天天操天天干天天玩| 日日夜夜精品视频天天综合网| 午夜免费视频网站| 久久久一区二区| 欧美日韩中文视频| 欧美人牲a欧美精品| 欧美成人综合在线| 欧美激情亚洲国产| 亚洲狼人在线| 亚州欧美一区三区三区在线| 午夜亚洲福利在线老司机| 性高潮久久久久久| 国产精品久久福利| av片免费观看| 日韩精品免费视频| wwww亚洲| 波多野结衣成人在线| 亚洲国产老妈| 亚洲天堂国产视频| 欧美经典一区二区| 9i看片成人免费看片| 亚洲国产精品va在看黑人| 人人澡人人添人人爽一区二区| 成人国产精品一区| 成人激情电影在线| 久久人妻精品白浆国产| 91在线码无精品| 豆国产97在线 | 亚洲| 欧美成人精品1314www| 麻豆视频在线播放| 成人黄色在线观看| 国产精品成人a在线观看| 不卡的av中文字幕| 国产欧美日韩另类一区| 波多野结衣视频免费观看| 亚洲欧美日韩国产中文专区| 超碰aⅴ人人做人人爽欧美| 精品网站在线看| 国产一区导航| 精品人妻一区二区三区视频| 大伊人狠狠躁夜夜躁av一区| 丝袜+亚洲+另类+欧美+变态| 2020欧美日韩在线视频| 久久资源综合| 男人天堂999| 国产偷国产偷亚洲高清人白洁| 亚洲婷婷综合网| 一本色道久久综合亚洲精品小说| 惠美惠精品网| 先锋影音亚洲资源| 国产一区二区三区四| 亚洲国产精品免费在线观看| 日韩欧美国产不卡| 俺来俺也去www色在线观看| 国内精品二区| 久久久亚洲一区| 美女网站视频色| 欧美一区二区三区四区五区| 黑人另类精品××××性爽| 国产精品手机在线| 免费欧美日韩| 香蕉成人在线视频| 日韩欧美一二区| 僵尸再翻生在线观看| 亚洲精品成人久久久998| 韩国精品久久久| 五月天综合在线| 亚洲欧美国产精品va在线观看| 91福利精品在线观看| 99久re热视频精品98| 成人午夜视频福利| 无码人妻丰满熟妇精品区| 最新的欧美黄色| 91成人精品在线| 已婚少妇美妙人妻系列| 亚洲人一二三区| 视频二区在线| 国产在线视频不卡| 国产视频一区欧美| 激情高潮到大叫狂喷水| 欧美成人精品福利| 日本肉肉一区 | 久久久xxx| 99鲁鲁精品一区二区三区| 亚洲国内精品在线| 国产伊人久久| 日本a视频在线观看| 国产精品私人自拍| 天天干天天做天天操| 国产一区在线播放| 国产一区二区精品| 欧美色图亚洲天堂|