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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

转 C++宏定义详解

發布時間:2023/12/20 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转 C++宏定义详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來自:傳送門

?C++宏定義詳解

一、#define的基本用法


??? #define是C語言中提供的宏定義命令,其主要目的是為程序員在編程時提供一定的方便,并能在一定程度上提高程序的運行效率,但學生在學習時往往不能 理解該命令的本質,總是在此處產生一些困惑,在編程時誤用該命令,使得程序的運行與預期的目的不一致,或者在讀別人寫的程序時,把運行結果理解錯誤,這對 C語言的學習很不利。


1 #define命令剖析


1.1?? #define的概念


??? #define命令是C語言中的一個宏定義命令,它用來將一個標識符定義為一個字符串,該標識符被稱為宏名,被定義的字符串稱為替換文本。
該命令有兩種格式:一種是簡單的宏定義,另一種是帶參數的宏定義。


(1)簡單的宏定義:

  • #define?<宏名>  <字符串>
  • 例:?#define?PI 3.1415926
  • (2) 帶參數的宏定義
    ?

  • #define?<宏名>?(<參數表>)?<宏體>
  • 例:?#define?A(x)?x
  • ??? 一個標識符被宏定義后,該標識符便是一個宏名。這時,在程序中出現的是宏名,在該程序被編譯前,先將宏名用被定義的字符串替換,這稱為宏替換,替換后才進行編譯,宏替換是簡單的替換。


    1.2 宏替換發生的時機


    ??? 為了能夠真正理解#define的作用,讓我們來了解一下對C語言源程序的處理過程。當我們在一個集成的開發環境如Turbo C中將編寫好的源程序進行編譯時,實際經過了預處理、編譯、匯編和連接幾個過程。其中預處理器產生編譯器的輸出,它實現以下的功能:
    (1)文件包含
    ??? 可以把源程序中的#include 擴展為文件正文,即把包含的.h文件找到并展開到#include 所在處。
    (2)條件編譯
    ??? 預處理器根據#if和#ifdef等編譯命令及其后的條件,將源程序中的某部分包含進來或排除在外,通常把排除在外的語句轉換成空行。
    (3)宏展開
    ??? 預處理器將源程序文件中出現的對宏的引用展開成相應的宏 定義,即本文所說的#define的功能,由預處理器來完成。
    ??? 經過預處理器處理的源程序與之前的源程序有所有不同,在這個階段所進行的工作只是純粹的替換與展開,沒有任何計算功能,所以在學習#define命令時只要能真正理解這一點,這樣才不會對此命令引起誤解并誤用。


    2 #define使用中的常見問題解析


    2.1 簡單宏定義使用中出現的問題
    ????在簡單宏定義的使用中,當替換文本所表示的字符串為一個表達式時,容易引起誤解和誤用。如下例:

  • 例1?#define?N 2+2
  • void?main()
  • {
  • ???int?a=N*N;
  • ???printf(“%d”,a);
  • }
  • ????(1) 出現問題:

    ?

    ??? 在此程序中存在著宏定義命令,宏N代表的字符串是2+2,在程序中有對宏N的使用,一般同學在讀該程序時,容易產生的問題是先求解N為2+2=4,然后在程序中計算a時使用乘法,即N*N=4*4=16,其實該題的結果為8,為什么結果有這么大的偏差?


    ????(2) 問題解析:

    ?

    ??? 如1節所述,宏展開是在預處理階段完成的,這個階段把替換文本只是看作一個字符串,并不會有任何的計算發生,在展開時是在宏N出現的地方 只是簡單地使用串2+2來代替N,并不會增添任何的符號,所以對該程序展開后的結果是a=2+2*2+2,計算后=8,這就是宏替換的實質,如何寫程序才能完成結果為16的運算呢?


    ????(3)解決辦法:

    ?

  • /*將宏定義寫成如下形式*/
  • #define?N?(2+2)
  • /*這樣就可替換成(2+2)*(2+2)=16*/

  • 2.2 帶參數的宏定義出現的問題


    ??? 在帶參數的宏定義的使用中,極易引起誤解。例如我們需要做個宏替換能求任何數的平方,這就需要使用參數,以便在程序中用實際參數來替換宏定義中的參數。一般學生容易寫成如下形式:

  • #define?area(x)?x*x
  • /*這在使用中是很容易出現問題的,看如下的程序*/
  • ?
  • void?main()
  • {
  • ????int?y?=?area(2+2);
  • ????printf(“%d”,y);
  • }
  • ??? 按理說給的參數是2+2,所得的結果應該為4*4=16,但是錯了,因為該程序的實際結果為8,仍然是沒能遵循純粹的簡單替換的規則,又是先計算再替換 了,在這道程序里,2+2即為area宏中的參數,應該由它來替換宏定義中的x,即替換成2+2*2+2=8了。那如果遵循(1)中的解決辦法,把2+2 括起來,即把宏體中的x括起來,是否可以呢?#define?area(x) (x)*(x),對于area(2+2),替換為(2+2)*(2+2)=16,可以解決,但是對于area(2+2)/area(2+2)又會怎么樣呢,有的學生一看到這道題馬上給出結果,因為分子分母一樣,又錯了,還是忘了遵循先替換再計算的規則了,這道題替換后會變為 (2+2)*(2+2)/(2+2)*(2+2)即4*4/4*4按照乘除運算規則,結果為16/4*4=4*4=16,那應該怎么呢?解決方法是在整個宏體上再加一個括號,即#define?? area(x) ((x)*(x)),不要覺得這沒必要,沒有它,是不行的。
    ??? 要想能夠真正使用好宏定義,那么在讀別人的程序時,一定要記住先將程序中對宏的使用全部替換成它所代表的字符串,不要自作主張地添加任何其他符號,完全展開后再進行相應的計算,就不會寫錯運行結果。

    ????如果是自己編程使用宏替換,則在使用簡單宏定義時,當字符串中不只一個符號時,加上括號表現出優先級,如果是帶參數的宏定義,則要給宏體中的每個參數加上括號,并在整個宏體上再加一個括號。看到這里,不禁要問,用宏定義這么麻煩,這么容易出錯,可不可以摒棄它, 那讓我們來看一下在C語言中用宏定義的好處吧。

    如:

  • #include?<iostream.h>
  • #define product(x)????x*x
  • int?main()
  • {
  • ????int?i=3;
  • ????int?j,k;
  • ????j?=?product(i++);
  • ????cout<<"j="<<j<<endl;
  • ????cout<<"i="<<i<<endl;
  • ????k?=?product(++i);
  • ????cout<<"k="<<k<<endl;
  • ????cout<<"i="<<i<<endl;
  • ????return 0;
  • }
  • 依次輸出結果:

    j=9;i=5;k=49;i=7



    3?宏定義的優點


    (1)?? 方便程序的修改


    ??? 使用簡單宏定義可用宏代替一個在程序中經常使用的常量,這樣在將該常量改變時,不用對整個程序進行修改,只修改宏定義的字符串即可,而且當常量比較長時, 我們可以用較短的有意義的標識符來寫程序,這樣更方便一些。我們所說的常量改變不是在程序運行期間改變,而是在編程期間的修改,舉一個大家比較熟悉的例子,圓周率π是在數學上常用的一個值,有時我們會用3.14來表示,有時也會用3.1415926等,這要看計算所需要的精度,如果我們編制的一個程序中 要多次使用它,那么需要確定一個數值,在本次運行中不改變,但也許后來發現程序所表現的精度有變化,需要改變它的值, 這就需要修改程序中所有的相關數值,這會給我們帶來一定的不便,但如果使用宏定義,使用一個標識符來代替,則在修改時只修改宏定義即可,還可以減少輸入 3.1415926這樣長的數值多次的情況,我們可以如此定義 #define?? pi?? 3.1415926,既減少了輸入又便于修改,何樂而不為呢?


    (2) 提高程序的運行效率


    ??? 使用帶參數的宏定義可完成函數調用的功能,又能減少系統開銷,提高運行效率。正如C語言中所講,函數的使用可以使程序更加模塊化,便于組織,而且可重復利用,但在發生函數調用時,需要保留調用函數的現場,以便子 函數執行結束后能返回繼續執行,同樣在子函數執行完后要恢復調用函數的現場,這都需要一定的時間,如果子函數執行的操作比較多,這種轉換時間開銷可以忽 略,但如果子函數完成的功能比較少,甚至于只完成一點操作,如一個乘法語句的操作,則這部分轉換開銷就相對較大了,但使用帶參數的宏定義就不會出現這個問 題,因為它是在預處理階段即進行了宏展開,在執行時不需要轉換,即在當地執行。宏定義可完成簡單的操作,但復雜的操作還是要由函數調用來完成,而且宏定義所占用的目標代碼空間相對較大。所以在使用時要依據具體情況來決定是否使用宏定義。

    4 結語


    ??? 本文對C語言中宏定義#define在使用時容易出現的問題進行了解析,并從C源程序處理過程的角度對#define的處理進行了分析,也對它的優點進行 了闡述。只要能夠理解宏展開的規則,掌握使用宏定義時,是在預處理階段對源程序進行替換,只是用對應的字符串替換程序中出現的宏名,這樣就可在正確使用的 基礎上充分享受使用宏定義帶來的方便和效率了

    二、define中的三個特殊符號:#,##,#@

    ?

  • #define?Conn(x,y)?x##y
  • #define?ToChar(x)?#@x
  • #define?ToString(x)?#x
  • (1)x##y表示什么?表示x連接y,舉例說:

  • int?n?=?Conn(123,456);?/* 結果就是n=123456;*/
  • char*?str?=?Conn("asdf",?"adf");?/*結果就是 str = "asdfadf";*/
  • (2)再來看#@x,其實就是給x加上單引號,結果返回是一個const char。舉例說:

    char a = ToChar(1);結果就是a='1';
    做個越界試驗char a = ToChar(123);結果就錯了;
    但是如果你的參數超過四個字符,編譯器就給給你報錯了!

    error C2015: too many characters in constant?? :P

    (3)最后看看#x,估計你也明白了,他是給x加雙引號

    char* str = ToString(123132);就成了str="123132";

    三、常用的一些宏定義


    1 防止一個頭文件被重復包含?

  • #ifndef?BODYDEF_H?
  • #define?BODYDEF_H?
  • ?//頭文件內容?
  • ?
  • #endif
  • ?

    2 得到指定地址上的一個字節或字

    ?

  • #define?MEM_B(?x?)?(?*(?(byte?*)?(x)?)?)?
  • #define?MEM_W(?x?)?(?*(?(word?*)?(x)?)?)
  • 用法如下:

  • #include?<iostream>
  • #include?<windows.h>
  • ?
  • #define?MEM_B(x)?(*((byte*)(x)))
  • #define?MEM_W(x)?(*((WORD*)(x)))
  • ?
  • int?main()
  • {
  • ????int?bTest?=?0x123456;
  • ?
  • ????byte m?=?MEM_B((&bTest));/*m=0x56*/
  • ????int?n?=?MEM_W((&bTest));/*n=0x3456*/
  • ?
  • ????return?0;
  • }

  • 3 得到一個field在結構體(struct)中的偏移量


    ?

  • #define?OFFSETOF(?type,?field?)?(?(size_t)?&((?type?*)?0)->?field?)
  • ????請參考文章:詳解寫宏定義:得到一個field在結構體(struct type)中的偏移量


    4 得到一個結構體中field所占用的字節數?

  • #define?FSIZ(?type,?field?)?sizeof(?((type?*)?0)->field?)

  • 5 得到一個變量的地址(word寬度)?

  • #define?B_PTR(?var?)?(?(byte?*)?(void?*)?&(var)?)?
  • #define?W_PTR(?var?)?(?(word?*)?(void?*)?&(var)?)
  • 6 將一個字母轉換為大寫

    ?

  • #define?UPCASE(?c?)?(?((c)?>=?''a''?&&?(c)?<=?''z'')???((c)?-?0x20)?:?(c)?)
  • 7 判斷字符是不是10進值的數字

    ?

  • #define?DECCHK(?c?)?((c)?>=?''0''?&&?(c)?<=?''9'')
  • 8 判斷字符是不是16進值的數字?

  • #define?HEXCHK(?c?)?(?((c)?>=?''0''?&&?(c)?<=?''9'')?||((c)?>=?''A''?&&?(c)?<=?''F'')?||((c)?>=?''a''?&&?(c)?<=?''f'')?)
  • 9 防止溢出的一個方法

    ?

  • #define?INC_SAT(?val?)?(val?=?((val)+1?>?(val))???(val)+1?:?(val))
  • 10 返回數組元素的個數?

  • #define?ARR_SIZE(?a?)?(?sizeof(?(a)?)?/?sizeof(?(a[0])?)?)
  • 11 使用一些宏跟蹤調試

    ?

    ANSI標準說明了五個預定義的宏名。它們是:?

  • _LINE_?/*(兩個下劃線),對應%d*/
  • _FILE_?/*對應%s*/
  • _DATE_?/*對應%s*/
  • _TIME_?/*對應%s*/
  • 四、多行函數宏定義

    宏定義中允許包含兩行以上命令的情形,此時必須在最右邊加上”\”且該行”\”后不能再有任何字符,連注釋部分都不能有,下面的每行最后的一定要是”\”,”\”后面加一個空格都會報錯,更不能跟注釋。

      我們來看一個例子,比較兩個數或者表達式大小,首先我們把它寫成宏定義:

      #define MAX( a, b) ( (a) > (b) (a) : (b) )

      其次,把它用函數來實現:

      int max( int a, int b)

      {

      return (a > b a : b)

      }

      很顯然,我們不會選擇用函數來完成這個任務,原因有兩個:首先,函數調用會帶來額外的開銷,它需要開辟一片棧空間,記錄返回地址,將形參壓棧,從函數返回還要釋放堆棧。這種開銷不僅會降低代碼效率,而且代碼量也會大大增加,而使用宏定義則在代碼規模和速度方面都比函數更勝一籌;其次,函數的參數必須被聲明為一種特定的類型,所以它只能在類型合適的表達式上使用,我們如果要比較兩個浮點型的大小,就不得不再寫一個專門針對浮點型的比較函數。反之,上面的那個宏定義可以用于整形、長整形、單浮點型、雙浮點型以及其他任何可以用“>”操作符比較值大小的類型,也就是說,宏是與類型無關的

      和使用函數相比,使用宏的不利之處在于每次使用宏時,一份宏定義代碼的拷貝都會插入到程序中。除非宏非常短,否則使用宏會大幅度增加程序的長度。

     ?還有一些任務根本無法用函數實現,但是用宏定義卻很好實現。比如參數類型沒法作為參數傳遞給函數,但是可以把參數類型傳遞給帶參的宏。

      看下面的例子:

      #define MALLOC(n, type) \
      ( (type *) malloc((n)* sizeof(type)))
    ?

      利用這個宏,我們就可以為任何類型分配一段我們指定的空間大小,并返回指向這段空間的指針。我們可以觀察一下這個宏確切的工作過程:

    int *ptr;?
    ptr = MALLOC ( 5, int );

      將這宏展開以后的結果:

    ptr = (int?) malloc ( (5)?sizeof(int) );

      這個例子是宏定義的經典應用之一,完成了函數不能完成的功能,但是宏定義也不能濫用,通常,如果相同的代碼需要出現在程序的幾個地方,更好的方法是把它實現為一個函數。

      下面總結和宏和函數的不同之處,以供大家寫代碼時使用,這段總結摘自《C和指針》一書。

    【轉】C語言中DEFINE簡介及多行宏定義

    EXample

    define的單行定義

    #define maxi(a,b) (a>;b?a:b)

    define的多行定義

    define可以替代多行的代碼,例如MFC中的宏定義(非常的經典,雖然讓人看了惡心)

    \#define ? MACRO(arg1, ? arg2) ? do ? { ? \?\? stmt1; ? \? stmt2; ? \?\? } ? while(0) ? ?關鍵是要在每一個換行的時候加上一個 “\ “ //宏定義寫出swap(x,y)交換函數 /#define swap(x, y)\ x = x + y;\ y = x - y;\ x = x - y;

    自己寫的一個小例子:

    // 不能加 *?
    應為 指針?
    也是一種類型
    #define ?SORT( a, ?n)\
    {\
    ? ? int i, j;\
    ? ? int *t = MALLOC(1,int);\
    ? ? for(i=0; i<n-1; i++)\
    ? ? {\
    ? ? ? ? for(j=0; j<n-1-i; j++)\
    ? ? ? ? {\
    ? ? ? ? ? ? if(*(a+j) > *(a+j+1))\
    ? ? ? ? ? ? {\
    ? ? ? ? ? ? ? ? *t = *(a+j);\
    ? ? ? ? ? ? ? ? *(a+j) = *(a+j+1);\
    ? ? ? ? ? ? ? ? *(a+j+1) = *t;\
    ? ? ? ? ? ? }\
    ? ? ? ? }\
    ? ? }\
    }
    int main(int argc,
    const char * argv[])
    {
    ? ? int a=10, b=
    120;
    ? ? int data[]={3,200,5};
    ? ? //swap(&a, &b);
    ?
    ? ?// sort(data, 3); ? ? //和隊列一樣:會依據專題的(shi can)參數
    自動識別類型
    ?
    ? ? SORT(data, 3); ? ??
    //會主動用實參
    代替
    形參
    識別類型
    ?
    ? ? for(int i=0;i<3;i++)
    ? ? cout << data[i] ?<< endl;
    ?
    ?
    ? ? //printf("%d ? %d", a, b);
    ? ? return 0;
    }
    ?

    總結

    以上是生活随笔為你收集整理的转 C++宏定义详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    精品久久一区二区三区 | 人人舔人人射 | 亚洲精品色视频 | 成人av网址大全 | 91麻豆精品国产自产在线 | 中文字幕视频网站 | 97人人射 | 日韩有码欧美 | 欧美精品你懂的 | 91黄色在线视频 | 国产一级二级三级在线观看 | 中文乱码视频在线观看 | 久久福利在线 | 国产精品白浆 | 98超碰在线 | 成人教育av | 在线一二三区 | 夜夜操狠狠干 | 日韩电影一区二区在线观看 | 五月婷婷丁香在线观看 | 久久伊人精品一区二区三区 | 在线视频一二三 | 亚洲国产大片 | 91视频 - 88av | 亚洲 欧美日韩 国产 中文 | 九九热免费在线观看 | 国产成人av一区二区三区在线观看 | 免费看污黄网站 | 五月天六月婷婷 | 亚洲精品色视频 | 三级黄色免费 | 久草手机视频 | 天天干com | 中文字幕在线观看你懂的 | 亚洲精品免费在线播放 | 午夜91视频 | 欧美大香线蕉线伊人久久 | 国产天天综合 | 久久av伊人 | 国产自制av| 国产精品毛片久久久久久 | 国产精品观看在线亚洲人成网 | 在线日韩视频 | 日日草夜夜操 | 美女视频久久黄 | 色狠狠婷婷 | 亚洲午夜精品福利 | 免费观看mv大片高清 | 亚洲成人av影片 | 国产精品麻 | 韩日视频在线 | www.亚洲在线 | 国产123区在线观看 国产精品麻豆91 | 亚州人成在线播放 | 色噜噜日韩精品欧美一区二区 | 欧美黄色特级片 | 黄色一级影院 | av一级在线 | 亚洲国产综合在线 | 国产精品高清在线观看 | 亚洲激情在线视频 | 久久久精品国产一区二区三区 | 日韩视频一区二区三区在线播放免费观看 | 美国三级黄色大片 | 91九色视频观看 | 99久久精品一区二区成人 | 五月综合色婷婷 | 五月天,com| 亚洲精品视频免费 | 免费看片网站91 | 97在线看片 | 国产高清av免费在线观看 | 久草视频在线资源站 | 91精品久久久久久粉嫩 | 国产精品久久久久久久久久久免费 | 五月精品 | 久久免费视频在线观看 | 久久久黄色免费网站 | 五月婷婷影院 | 亚洲激精日韩激精欧美精品 | 亚洲国产97在线精品一区 | 日韩中文字幕在线不卡 | 精品99在线观看 | 亚洲福利精品 | 精品一区二区在线免费观看 | 久久精久久精 | 久久国产精品系列 | 四虎在线视频 | 国产高清99 | 日本精品久久 | 欧美大片第1页 | 色婷婷免费 | 91av99| 久久伊人精品一区二区三区 | 国产免费三级在线观看 | av成人在线看 | 亚洲片在线观看 | 精品欧美小视频在线观看 | 韩国中文三级 | 亚洲成av人片在线观看www | 日韩一区二区三区观看 | 中文字幕日韩有码 | 91精品第一页 | 亚洲精品视频免费在线 | 91在线看视频 | 国产高清视频色在线www | 在线91色 | 欧美三级高清 | 日韩视频欧美视频 | 免费日韩视| 国产精品视频你懂的 | 亚洲国产欧美在线看片xxoo | 91亚色视频在线观看 | 亚洲国产免费 | 久久午夜影视 | 中国一 片免费观看 | 婷婷久久久久 | 欧美aaaxxxx做受视频 | 日韩免费电影一区二区 | 婷婷五月在线视频 | 天天av天天 | 69人人| 国产精品人成电影在线观看 | 四川妇女搡bbbb搡bbbb搡 | 五月开心六月伊人色婷婷 | 久久久久久久久久久影视 | 色资源网在线观看 | 国产一区二区三区视频在线 | 国产69久久久 | 国产一区二区在线免费视频 | 在线视频18在线视频4k | 久草在线最新免费 | 精品视频在线视频 | 国产黄色免费在线观看 | 久久国产精品一二三区 | 免费av一级电影 | 日本性xxxxx 亚洲精品午夜久久久 | 91精品老司机久久一区啪 | 欧美日韩电影在线播放 | 一级电影免费在线观看 | 欧美精品一区在线发布 | 91色一区二区三区 | 成人一级视频在线观看 | 这里只有精彩视频 | 探花国产在线 | 亚洲精品综合在线观看 | 天天色天天射天天综合网 | 国产综合久久 | 三级午夜片 | 最新一区二区三区 | 色婷婷综合久色 | 一区二区三区在线免费播放 | 欧美日韩不卡在线视频 | 91久久偷偷做嫩草影院 | 99视频网址 | 日韩一区正在播放 | 婷婷伊人五月天 | 欧美精品一区在线发布 | 人人爽爽人人 | 欧美一区二区三区在线播放 | 国产亚洲va综合人人澡精品 | av7777777| 蜜桃视频在线视频 | 青青草国产精品视频 | 色视频成人在线观看免 | 婷婷综合成人 | 国产精品久久麻豆 | 欧美日韩1区2区 | 最新av在线播放 | 九九99靖品 | 91在线视频免费观看 | 操操操影院 | av不卡免费在线观看 | 欧美性性网 | 久久国产精品99久久久久久进口 | 精品人人爽| 欧美精品久久久久久久 | 国产精品高清免费在线观看 | 91久久久久久国产精品 | 麻豆视频一区二区 | 一级黄毛片 | 日本大尺码专区mv | 91久久国产综合精品女同国语 | 国产香蕉视频在线播放 | 亚洲永久精品在线观看 | 永久免费精品视频网站 | 国内精品久久久久影院日本资源 | 国产午夜精品一区二区三区欧美 | 日韩精品免费一区二区 | 久久久久久久久久久久国产精品 | 亚洲视频在线视频 | 日日操天天操夜夜操 | 欧美日韩一区二区三区在线免费观看 | 成人av片免费观看app下载 | 欧美日本一区 | 久久久久久国产精品亚洲78 | 在线免费视频a | 玖玖在线视频观看 | 99精品视频播放 | 综合网天天 | 91人人爽久久涩噜噜噜 | japanesexxxxfreehd乱熟 | 开心色插 | 中文字幕资源网 国产 | 夜夜操天天操 | 欧美日韩高清一区二区 | 波多野结衣理论片 | 国内精品99 | 久久久久久久免费观看 | 最新日本中文字幕 | 五月天激情开心 | 久久高清免费 | 国产一区国产精品 | 日韩在线观看视频在线 | 亚洲精品国产精品国自产 | 日日夜夜av | 六月激情网 | 国精产品一二三线999 | 国产成人久久精品亚洲 | 国产精品专区在线观看 | 国产精品白虎 | 日本中文字幕在线免费观看 | 91九色porny蝌蚪主页 | 亚洲人人av | 一级片视频在线 | 久久久久色 | 六月色播| 超碰人人舔 | 久草在线高清 | 亚洲涩综合 | avav片 | 91视频在线观看下载 | 福利视频| 欧美91精品国产自产 | 在线观看你懂的网址 | 国产免费三级在线观看 | 日韩久久视频 | 日韩网站在线 | 欧美美女视频在线观看 | 久久电影网站中文字幕 | 日韩专区在线播放 | 精品人妖videos欧美人妖 | a天堂中文在线 | 精品久久亚洲 | 国产亚洲成av人片在线观看桃 | 综合色在线观看 | 色综合久久五月天 | 国产精品3 | 国产成人免费精品 | 高清国产午夜精品久久久久久 | 亚洲天天干 | 免费看精品久久片 | 国产日韩中文字幕在线 | 国产黄在线观看 | 久久精品欧美一区二区三区麻豆 | 精品视频专区 | 91av亚洲| av丝袜在线| 欧美日韩精品在线 | 日韩精品久久久久久久电影竹菊 | 国产综合福利在线 | 精品福利在线 | 日韩在线观看视频中文字幕 | 激情丁香久久 | 久久99精品久久久久久秒播蜜臀 | 亚洲色图 校园春色 | 深夜免费小视频 | 天天激情天天干 | 色吊丝av中文字幕 | 粉嫩av一区二区三区四区在线观看 | 一区三区视频 | 亚洲精品观看 | 国产xxxxx在线观看 | 不卡的av在线 | 天天射天天干天天操 | av一级在线 | 国产午夜三级一区二区三 | 久久久国产精品一区二区中文 | 色www免费视频 | 九九热视频在线 | av网在线观看 | 国产专区精品 | 91精品久久久久久综合乱菊 | 婷婷激情在线观看 | 在线 国产 日韩 | av高清免费在线 | 久草视频在线新免费 | 毛片激情永久免费 | 国产精品一区二区久久 | 成人久久综合 | 伊人夜夜 | 国产精品国产三级国产aⅴ无密码 | 久久夜色精品国产欧美乱 | 国产精品porn | 十八岁以下禁止观看的1000个网站 | 91麻豆精品国产91久久久久久久久 | 欧美最猛性xxxxx(亚洲精品) | 欧美日韩后 | 在线观看视频精品 | 中文字幕大全 | 黄色一级网| 国产高清成人在线 | 日韩 在线 | 久久婷婷一区 | 国产免费资源 | 在线激情网 | 最近日本中文字幕 | 久久五月婷婷综合 | 日韩一区二区三 | 亚洲国产欧美在线人成大黄瓜 | 亚洲国产精品久久久久婷婷884 | 国产福利在线 | 国产精品第72页 | 久久99精品国产一区二区三区 | 国产精品嫩草影视久久久 | 久久久九色精品国产一区二区三区 | 美女免费视频一区 | 91成人精品视频 | 五月天久久久久 | 欧美精品亚洲精品 | 日本韩国精品在线 | 天天干天天射天天插 | 欧美精品天堂 | 亚洲女同videos | 五月天婷婷免费视频 | 女人18片| 五月天婷亚洲天综合网精品偷 | 久久久黄视频 | 天天爽天天爽天天爽 | 免费网站黄| 亚洲精品午夜国产va久久成人 | 欧美性大战 | av噜噜噜在线播放 | 成片视频免费观看 | 久久艹国产 | 午夜国产福利在线观看 | 亚洲精品在线免费 | 麻豆91精品 | 免费h精品视频在线播放 | 黄网站a | 永久免费视频国产 | 四虎国产精品永久在线国在线 | 在线观看久久久久久 | 日韩免费不卡视频 | 天天射夜夜爽 | 久久官网| 97免费在线观看视频 | 国产一区二区观看 | 夜夜嗨av色一区二区不卡 | 超碰免费观看 | 在线免费观看国产 | 在线免费中文字幕 | 国产福利电影网址 | 五月综合 | 九九九九九国产 | 麻豆传媒视频在线免费观看 | 欧美日韩不卡一区二区 | 欧美日韩国产在线一区 | 欧美日韩一区二区三区在线免费观看 | 国产中文字幕视频在线观看 | 国产流白浆高潮在线观看 | 日日干天天射 | 免费日韩一区二区三区 | 狠狠久久婷婷 | 日韩中文三级 | 久要激情网 | 日本超碰在线 | 一级黄色视屏 | 人人插人人草 | 久久国产精品99久久人人澡 | 国产午夜小视频 | 亚洲最新在线视频 | 欧美一二三视频 | 成人国产网址 | 久久av中文字幕片 | 国产高清视频免费在线观看 | 成人观看视频 | 亚洲高清视频在线观看 | 欧美与欧洲交xxxx免费观看 | 国产精品久久久 | 日韩a级黄色片 | 米奇四色影视 | 91在线文字幕 | 久久久久久久99 | 久久国产品 | 久久久资源网 | 久久伊人国产精品 | 午夜精品久久久久久久99热影院 | 色视频网站在线观看一=区 a视频免费在线观看 | 中文字幕电影一区 | 国产精品99免费看 | 日韩高清不卡一区二区三区 | 97爱爱爱 | 超碰97在线资源站 | 96看片| 六月丁香社区 | 亚洲日本一区二区在线 | 探花视频在线观看免费版 | 色香蕉在线视频 | 精品黄色在线观看 | 成人av在线直播 | 在线免费av电影 | 深夜成人av | 2017狠狠干 | 黄色视屏在线免费观看 | 麻豆影视在线播放 | 天天曰天天干 | 成人a v视频 | 九九热久久免费视频 | 成人黄色大片在线免费观看 | 狠狠色狠狠色综合日日小说 | 美女搞黄国产视频网站 | 国产色在线,com | 日韩理论片中文字幕 | 99这里只有精品视频 | 婷婷av资源| 国内外成人在线视频 | 天天爽天天射 | 亚洲久在线 | 久久综合免费 | 精品国产免费人成在线观看 | 久久久免费看视频 | 91毛片视频| 成人网在线免费视频 | 黄色大片免费播放 | 草久久影院 | 中文字幕在线播出 | 免费一级片在线 | www免费网站在线观看 | 国产免费xvideos视频入口 | 黄色av在 | 黄色免费国产 | 国产精品一区二区果冻传媒 | 国产精品久久久久久久久毛片 | 一区二区在线电影 | 久久久精品视频成人 | 狠狠狠综合| 国产精品婷婷午夜在线观看 | 国产91粉嫩白浆在线观看 | 88av网站 | 91亚洲精品久久久 | 久久精品网站免费观看 | 狠狠色噜噜狠狠 | 成年人视频在线免费播放 | 99久久99精品| 国产香蕉视频在线播放 | 亚洲最新视频在线 | 成人cosplay福利网站 | 五月婷婷狠狠 | 日本久久片 | 狠狠狠狠狠狠 | 国产精品原创在线 | 碰碰影院 | 国产精品久久麻豆 | 国产午夜一级毛片 | 久久久久久久影视 | 欧洲成人av | 麻豆视频在线播放 | 中文字幕在线观看91 | 91在线小视频 | 久久久久国产精品一区二区 | 天天综合区| 日韩成人精品一区二区 | 天天射天天干天天爽 | 97在线观 | 欧美国产高清 | 97超在线视频 | 日韩欧美视频二区 | 国产精品正在播放 | 亚洲国产资源 | 中文字幕色在线视频 | 国产 日韩 在线 亚洲 字幕 中文 | 伊人成人精品 | 色噜噜在线观看 | 久久久久在线 | 国产涩涩网站 | 伊人一级 | 国产经典av | 国产在线精品国自产拍影院 | 黄色影院在线播放 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 欧美一级电影在线观看 | 亚洲五月六月 | 国产成人亚洲在线电影 | 国产精品免费久久久久影院仙踪林 | 日批视频在线观看免费 | 亚洲最大av网站 | 蜜桃视频色 | 亚洲精品国偷拍自产在线观看 | 91私密保健 | 免费视频97 | 国产网红在线 | 高清美女视频 | 日韩a在线观看 | 亚洲国产剧情 | 欧美性猛片| 中文在线最新版天堂 | 九色视频网 | 中文字幕在线乱 | 久久线视频 | 久草在线资源观看 | 日韩成人在线一区二区 | 中文国产在线观看 | 欧美激情精品一区 | 天天爽人人爽夜夜爽 | 久久久国产一区 | 成人免费看片网址 | 国产视频中文字幕 | 91电影福利 | 精品亚洲成人 | 天天操综合网 | 亚洲va欧洲va国产va不卡 | 美女视频黄的免费的 | 亚洲美女精品区人人人人 | 麻豆国产露脸在线观看 | 六月激情网 | 色婷五月天 | 国产黄色精品在线 | 成人sm另类专区 | 久久久69| 亚洲精品综合欧美二区变态 | 亚洲精品视频在线观看免费 | 久久黄色免费视频 | 中文在线免费视频 | 久久伊人色综合 | 久精品视频 | 国产小视频你懂的在线 | 69av视频在线观看 | 美女网站视频免费都是黄 | 婷婷草 | 三级av在线免费观看 | 成人全视频免费观看在线看 | 九九精品无码 | 日本精品久久久一区二区三区 | 欧美精品一区二区在线播放 | 色婷婷福利视频 | 91丨九色丨国产在线观看 | 国产精品毛片一区二区在线 | 视频一区二区在线 | 国产精品久久久久久久久久久免费看 | 最新免费中文字幕 | 99热精品久久 | 中文字幕一区二区三区视频 | 人人插人人 | 香蕉视频在线免费 | 精品国模一区二区 | 精品欧美一区二区三区久久久 | 综合久久精品 | 在线色吧| 久久国产电影 | 97碰碰视频| 中文字幕丝袜制服 | 免费日韩av片| 国产精品99爱 | 午夜国产一区二区 | 中文字幕xxxx | 国产精品第54页 | 免费观看一区 | 安徽妇搡bbbb搡bbbb | 色资源网免费观看视频 | 日韩精品电影在线播放 | 成人网看片 | 精品a视频| 国产丝袜美腿在线 | 国产视频一二三 | 免费av在线网| 亚洲欧美乱综合图片区小说区 | 天天干.com | 日韩美女av在线 | 日韩av三区 | 天天摸天天舔天天操 | 97精品国自产拍在线观看 | 久久久五月婷婷 | 免费电影一区二区三区 | 狠狠色丁婷婷日日 | 久久久免费网站 | 久久国内免费视频 | 日韩欧美一区二区三区在线 | 国产品久精国精产拍 | av电影免费在线 | 亚洲人成在线观看 | 国产精品美女久久久久久网站 | 色噜噜狠狠狠狠色综合久不 | 91综合视频在线观看 | 成年人视频在线免费观看 | 国产精品99页 | 日韩精品在线免费播放 | 日本免费久久高清视频 | 狠狠干2018 | 婷婷国产v亚洲v欧美久久 | 激情久久五月 | 欧美色图p| 国产黑丝一区二区 | 国产小视频免费观看 | 黄色片网站av | 天天干夜夜干 | 欧美99热 | 中文字幕av免费观看 | 91精品欧美一区二区三区 | 国产五月天婷婷 | 一级黄色片在线观看 | 日韩欧美视频一区二区三区 | 最近更新好看的中文字幕 | 又污又黄网站 | 国产精品精品久久久久久 | 欧美激情视频一区二区三区 | 久久久久麻豆v国产 | 久久久久精 | 免费观看www7722午夜电影 | 亚洲二区精品 | 成人av免费电影 | 天天天天色综合 | 免费看一级片 | 久草在线精品观看 | 日韩av影片在线观看 | 亚洲精品男人天堂 | 97激情影院 | 黄色成品视频 | 97在线影院 | 午夜久久久久久久久久久 | 97色免费视频 | 亚洲激情在线播放 | 亚洲三级在线 | 91九色视频网站 | 亚洲涩涩网 | 欧美夫妻性生活电影 | 免费黄a大片 | 中文字幕色综合网 | 国产精品精品国产色婷婷 | 国产免费片| 在线观看视频一区二区 | 国产精品日韩久久久久 | 日韩二区三区在线观看 | 日韩美女av在线 | 久久午夜色播影院免费高清 | av短片在线观看 | www.69xx| 国产精品s色| 九九久久影院 | av福利在线导航 | 日韩视频免费在线 | 在线黄网站 | 欧洲成人免费 | 成人小视频在线播放 | 免费看的av片 | 色a4yy| 啪啪资源 | 天天操·夜夜操 | av动图| 深爱综合网| 午夜影院先| 国产一线二线三线性视频 | av在线影视| 国产成人久久久77777 | 2023天天干 | 欧洲激情综合 | 亚洲精品美女 | 右手影院亚洲欧美 | 久久永久免费视频 | 91精品在线麻豆 | 天天拍天天色 | 亚洲国产欧美在线看片xxoo | 最近最新mv字幕免费观看 | 国产精品美女久久久 | www.xxxx变态.com| 婷婷色站 | 99热这里只有精品国产首页 | 91精品免费在线 | 91精品久久久久久久久 | 99久久9 | 久久久久久久久久免费视频 | 国产美女精品视频 | 国产精品一区二区中文字幕 | 91精彩视频在线观看 | 亚洲丝袜中文 | 欧美激情精品久久久久久变态 | 97电影网站 | 6699私人影院| 天天射综合网站 | 月下香电影| 久久免费大片 | 日韩色爱 | 免费av成人在线 | 久久综合久久综合这里只有精品 | 日韩精品久久久久久久电影99爱 | 久久国产精品99精国产 | 成人h电影 | 天堂av免费看| av线上看| 美女视频a美女大全免费下载蜜臀 | 日韩欧美视频二区 | 亚洲一级二级三级 | 婷婷丁香色 | 91成人在线视频 | 国产二区电影 | 成人影音在线 | 婷婷色在线视频 | 亚洲久草在线视频 | 69欧美视频 | 久久99国产精品二区护士 | 国产精品成人品 | 国产一级视频 | 午夜影院在线观看18 | 日韩av视屏 | 国产成人av| 日韩免费电影 | 中文字幕亚洲高清 | 97在线视频免费观看 | 亚洲无吗视频在线 | 日本精品视频在线播放 | 97av精品 | 美女网站在线播放 | 四虎国产精品永久在线国在线 | 色综合天天狠狠 | 天天操天天操天天操天天操天天操天天操 | 国产精品观看视频 | 91免费高清视频 | 国产精品福利av | 日韩视频在线不卡 | 久久草av | 亚洲色图22p | 人人爽人人澡 | 国产一区视频在线观看免费 | 91超碰免费在线 | 日日夜色 | 免费看的国产视频网站 | 亚洲视频资源在线 | 天天天色 | av三级在线免费观看 | 久久久午夜精品福利内容 | 亚洲电影av在线 | 欧美日韩亚洲在线观看 | 国产网红在线 | 精品伊人久久久 | 国产精品自产拍在线观看桃花 | 久久久精品99 | 国产一区视频免费在线观看 | 国产成人av一区二区三区在线观看 | 日韩在线视频网站 | 夜夜爽夜夜操 | 日本精品在线视频 | 国产成人精品综合久久久久99 | 亚洲精品在线免费 | 四虎成人精品 | 免费看国产精品 | 久久精彩| 狠狠天天 | 亚洲三级视频 | 亚洲va欧美va人人爽春色影视 | 2021国产在线视频 | 欧美成人h版电影 | 久久久久久久久久久久久久免费看 | 激情网在线观看 | 国产福利一区二区三区视频 | 特级西西人体444是什么意思 | 丁香六月久久综合狠狠色 | 人人插超碰 | 91在线视频 | 亚洲中字幕 | 中文在线字幕观看电影 | 五月天久久精品 | 奇米影视8888 | 四虎永久视频 | 中文字幕日韩免费视频 | 国产精品久久嫩一区二区免费 | 免费大片av | 国产精品va在线播放 | 国产成人61精品免费看片 | 在线国产激情视频 | 丝袜美腿一区 | 久久激情婷婷 | 国产精品免费视频久久久 | 免费视频久久久 | 97手机电影网 | 中文字幕大全 | 亚洲精品网址在线观看 | 激情深爱 | 亚洲人天堂 | 激情欧美xxxx| 麻豆视频在线观看免费 | 日韩高清一二区 | 免费福利在线观看 | 91香蕉国产| 在线视频 国产 日韩 | 奇米网8888 | 久久99欧美 | 精品国产免费一区二区三区五区 | 91精品在线播放 | 日韩精品欧美视频 | 丰满少妇麻豆av | 色五丁香 | 天天干天天玩天天操 | 一级大片在线观看 | 国内精品视频一区二区三区八戒 | 色吊丝在线永久观看最新版本 | 欧美久久99 | 成人精品福利 | 九九精品毛片 | 国产大尺度视频 | 尤物九九久久国产精品的分类 | www.久久爱.cn | 国产一区免费在线观看 | 欧美成人一区二区 | 欧美久久九九 | 久久精品网站视频 | 亚洲色图色| 深爱婷婷久久综合 | 96精品视频 | 五月天综合婷婷 | 婷婷伊人网 | 免费日韩一区二区 | 成人高清av在线 | 亚洲国产精品一区二区久久hs | 国产精品久久久久久久久毛片 | 久久涩涩网站 | 激情导航| 在线观看成人毛片 | 亚洲色视频 | 午夜.dj高清免费观看视频 | 亚洲性少妇性猛交wwww乱大交 | 黄色成人免费电影 | 日本乱码在线 | 国产黄色av影视 | 国产精品久久久久三级 | 8x成人在线 | 91成人精品一区在线播放69 | 88av网站 | 中文字幕在线第一页 | 中文字幕一区二区三区乱码不卡 | 欧美久久久久久久久 | 欧美男男tv网站 | 久久免费99精品久久久久久 | 蜜臀精品久久久久久蜜臀 | 又黄又刺激又爽的视频 | 国产精品久久久久久99 | 超碰97人人射妻 | 人人爽影院| 成人av电影在线观看 | 久久国产精品影片 | 免费在线播放av电影 | 青春草视频 | 少妇性aaaaaaaaa视频 | 中国成人一区 | 免费观看一区二区三区视频 | 成人免费网视频 | 91精品视频免费看 | 精品国产精品久久 | 国产日韩精品在线观看 | 五月天六月婷婷 | 最新久久免费视频 | 97电影院网 | 亚洲理论视频 | 日韩精品免费在线观看 | 欧美一级艳片视频免费观看 | 狠狠综合网 | 成人国产精品免费观看 | 在线观看91 | 亚洲码国产日韩欧美高潮在线播放 | 国产精品成人免费精品自在线观看 | 久草视频在线免费播放 | 国产精彩在线视频 | 亚洲理论片在线观看 | 97超碰国产精品女人人人爽 | 婷婷资源站 | 2024av| 99久久精品电影 | 亚洲欧美怡红院 | 国产精品一区二区三区99 | www.综合网.com | av免费在线播放 | 狠狠色香婷婷久久亚洲精品 | 久久免费精品国产 | 久久不卡免费视频 | 久久精品成人热国产成 | 五月导航 | 麻豆视频一区 | 久久电影国产免费久久电影 | 国产黄色片网站 | 欧美在线视频日韩 | 欧亚日韩精品一区二区在线 | 欧美-第1页-屁屁影院 | 中文字幕亚洲欧美日韩2019 | 九九热只有精品 | 免费a v观看 | 97视频入口免费观看 | 一区二区三区在线观看中文字幕 | 91精品办公室少妇高潮对白 | av电影免费在线看 | 日韩在线高清视频 | 美女视频黄免费的 | 色妞色视频一区二区三区四区 | 色综合天天视频在线观看 | av一区二区三区在线 | 久久精品免费看 | 天天操天天干天天 | 激情五月在线视频 | 国产精品国产三级国产aⅴ无密码 | 免费能看的黄色片 | 亚洲最大成人免费网站 | 五月天九九| 在线看国产视频 | 国产精品久久久久久999 | 1024手机在线看 | 黄色特级一级片 | 又黄又爽又刺激的视频 | 久久婷婷开心 | 激情av网| 日日日操操 | 久久狠狠亚洲综合 | 91完整版 | 91在线看视频 | 国产艹b视频 | 五月天综合色激情 | av免费网站在线观看 | 成年人免费在线看 | 久久国产精品免费视频 | 精品在线视频播放 | 综合影视| 91看毛片 | 天天操天天舔天天干 | 亚洲免费专区 | 看污网站 | 日韩午夜三级 | 成年人免费观看国产 | 91福利国产在线观看 | 久久婷亚洲五月一区天天躁 | 综合色综合色 | 成人中心免费视频 | 欧美国产精品久久久久久免费 | 日日精品 | 国产黑丝一区二区 | 丁香资源影视免费观看 | 婷婷激情综合五月天 | 国产精品一区在线观看 | 在线免费黄色片 | 中文字幕123区 | 婷婷天天色 | 91麻豆精品国产自产在线游戏 | 超碰97人人射妻 | 日韩亚洲国产中文字幕 | 国产精品久久在线 | 99精品国产一区二区三区不卡 | 亚洲在线视频观看 | 一区二区三区四区五区在线 | 国产一在线精品一区在线观看 | 97色在线视频 | 99亚洲精品 | 午夜精品一区二区三区免费 | 久久久久久久久综合 | 成人国产一区二区 | 国产精品igao视频网入口 | 激情综合色图 | 免费在线一区二区三区 | 亚洲精品在线观看中文字幕 | 亚洲视频在线看 | 日韩美女久久 | 亚洲国产午夜精品 | 中文字幕有码在线观看 | 中文字幕刺激在线 | 色网站黄| 亚洲成人av片 | 久草精品视频在线看网站免费 | 欧美欧美| 丁香婷婷深情五月亚洲 | 国产aaa大片| 成人免费在线视频观看 | 六月丁香久久 | 国产一区二区精 | 亚洲一区二区高潮无套美女 | 久久亚洲精品国产亚洲老地址 | 亚洲精品在线观看网站 | 一区二区三高清 | 五月婷婷深开心 | 久久久综合九色合综国产精品 | 国产视频一区在线 | 99re8这里有精品热视频免费 | 国产视 | 国产精品久久久久久久久毛片 | 色综合久久88色综合天天6 | 亚洲日日夜夜 | 国产原创在线视频 | 国产1区2区 | 国产精品久久在线 | www.xxxx变态.com | 国产亚洲婷婷免费 | 黄网站免费久久 | 99国产在线观看 | 精品中文字幕在线观看 | 成人在线视频免费 | av高清一区二区三区 | 日韩av三区| 午夜18视频在线观看 | 黄色毛片网站在线观看 | 最新色视频 | 久久久精品一区二区 | 国产精品成人一区二区三区吃奶 | 天堂在线视频中文网 | 99精品视频免费 |