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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

读书笔记 Effective C++: 02 构造析构赋值运算

發(fā)布時(shí)間:2024/6/14 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读书笔记 Effective C++: 02 构造析构赋值运算 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

條款05:了解C++默認(rèn)編寫并調(diào)用的哪些函數(shù)

編譯器會(huì)為class創(chuàng)建:

1. default構(gòu)造函數(shù)(前提是:沒有定義任何構(gòu)造函數(shù));

  如果已經(jīng)聲明了一個(gè)構(gòu)造函數(shù),編譯器就不會(huì)再創(chuàng)建default構(gòu)造函數(shù)了;

2. 析構(gòu)函數(shù)

3. copy構(gòu)造函數(shù);

  對(duì)于指針,只拷貝地址,并不會(huì)重建內(nèi)容,所以要注意double free;

  下面是一段錯(cuò)誤的代碼:

class TestDoubleFree

{
public:
  explicit TestDoubleFree(char c)
    : pTest(new char(c))
  {
  }

  ~TestDoubleFree( )
  {
    if(pTest != NULL) {
      delete pTest;
      pTest = NULL;
    }
  }
private:
  char* pTest;
};

int main( )
{
  TestDoubleFree t1('x');  //這句本身并沒有錯(cuò)
  TestDoubleFree t2(t1);  //但是這句錯(cuò)了,會(huì)引起double free
}

這是一段錯(cuò)誤的代碼,運(yùn)行時(shí)會(huì)發(fā)生double free。main函數(shù)中,如果單獨(dú)使用TestDoubleFree t1('x'),這并不會(huì)有問題。

問題在于TestDoubleFree t2(t1),copy構(gòu)造函數(shù)會(huì)讓t1.pTest和t2.pTest同時(shí)指向一塊內(nèi)存單元,那么t1,t2并析構(gòu)的時(shí)候,就會(huì)對(duì)該內(nèi)存單元發(fā)生double free。

解決這個(gè)問題:

1. 可以繼承boost::noncopyable,這樣就不允許使用TestDoubleFree t2(t1)語句。(例子見條款06)

2. 可以用boost::share_ptr替代裸指針;

#include <boost/shared_ptr.hpp>

class TestDoubleFree
{
public:
  explicit TestDoubleFree(char c)
    : pTest(new char(c))
  {
  }

  ~TestDoubleFree( )
  {
  }
private:
  boost::shared_ptr<char> pTest;
};

int main( )
{
  TestDoubleFree t1('x');
  TestDoubleFree t2(t1);
}

4. copy assignment操作符;

  copy構(gòu)造函數(shù)一定會(huì)生成,但是copy assignment賦值符并不一定能默認(rèn)生成。

  如果class中含有reference成員變量,const成員變量,那么賦值運(yùn)算無法完成;

#include <cassert>

class TestNonCopyAssignment
{
public:
  TestNonCopyAssignment(char c, int i)
  : ch(c), cInt(i)
  {
  }
  void setChar(char c)
  {
    ch = c;
  }
  void testAssert(char c, int i)
  {
    assert(ch==c);
    assert(cInt==i);
  }
private:
  char& ch;
  const int cInt;
};

int main( )
{
  TestNonCopyAssignment t1('x', 123);
  TestNonCopyAssignment t2(t1);
  t1.setChar('z');
  t1.testAssert('z', 123);
  t2.testAssert('z', 123);
  t2 = t1;  //賦值符號(hào)錯(cuò)誤
}

由于TestNonCopyAssignment類含有reference和const,operator=被禁用,如果強(qiáng)行賦值,編譯器會(huì)報(bào)錯(cuò):

錯(cuò)誤: 使用了被刪除的函數(shù)‘TestDoubleFree& TestDoubleFree::operator=(const TestDoubleFree&)’
錯(cuò)誤: ‘TestDoubleFree& TestDoubleFree::operator=(const TestDoubleFree&)’ is implicitly deleted because the default definition would be ill-formed:
錯(cuò)誤: non-static reference member ‘char& TestDoubleFree::pTest’, can’t use default assignment operator
錯(cuò)誤: non-static const member ‘const int TestDoubleFree::count’, can’t use default assignment operator

?

條款06:若不想使用編譯器自動(dòng)生成的函數(shù),就應(yīng)該明確拒絕

方法1:

  在private中聲明而不定義:copy構(gòu)造函數(shù),copy assignment操作符;

  缺點(diǎn):friend函數(shù)或者成員函數(shù)調(diào)用,這個(gè)錯(cuò)誤不是出現(xiàn)再編譯期,而是link期;

方法2:

  繼承boost::noncopyable類;

  缺點(diǎn):多重繼承可能會(huì)阻止empty base class optimization

  優(yōu)點(diǎn):醒目地標(biāo)識(shí)該類不能被copy

  實(shí)現(xiàn)條款05的例子:

#include <boost/noncopyable.hpp>

class TestDoubleFree : private boost::noncopyable
{
public:
  explicit TestDoubleFree(char c)
    : pTest(new char(c))
  {
  }

  ~TestDoubleFree( )
  {
    if(pTest != NULL) {
      delete pTest;
      pTest = NULL;
    }
  }
private:
  char* pTest;
};

int main( )
{
  TestDoubleFree t1('x');
  TestDoubleFree t2(t1); //由于繼承boost::noncopyable, 所以編譯不會(huì)通過
}

?

條款07:為多態(tài)基類聲明virtual析構(gòu)函數(shù)

1. 具有polymorphic(多態(tài))的base class,或者帶有任何virtual函數(shù)的class,應(yīng)該聲明virtual析構(gòu)函數(shù);

  避免局部析構(gòu);

2. 如果class設(shè)計(jì)的目的就不是作base class使用,或者不是為了具備多態(tài),就不應(yīng)該聲明virtual析構(gòu)函數(shù)。

  節(jié)省存儲(chǔ)空間;

3. 有時(shí)候?yàn)榱说玫揭粋€(gè)抽象類,以避免該類被實(shí)例化,就把析構(gòu)函數(shù)定義為pure virtual,但是必須為這個(gè)pure virtual析構(gòu)函數(shù)提供一份定義,要不然link會(huì)出錯(cuò)的。

#include <iostream>

class Base
{
public:
  virtual void print( )
  {
    std::cout << "Base Classes." << std::endl;
  }
  virtual ~Base( )=0;
};

// 析構(gòu)函數(shù)先聲明成pure virtual再定義
// 1. 如果不在外面定義,link會(huì)出錯(cuò)的
// 2. 這是一個(gè)小技巧,能阻止Base被實(shí)例化
Base::~Base( )
{
}

class DerivedA : public Base
{
};

class DerivedB : public Base
{
public:
  void print( )
  {
    std::cout << "Derived Classes." << std::endl;
  }
};

int main( )
{

  Base* p = new DerivedA( );
  p->print( );
  delete p;
  p = NULL;

  p = new DerivedB( );
  p->print( );
  //由于p是Base*,所以如果Base的析構(gòu)函數(shù)不是virtual的,就可能會(huì)導(dǎo)致Base的那部分析構(gòu)了而Derived的那部分沒能被析構(gòu)
  delete p;
  p = NULL;

}

?

條款08:別讓異常逃離析構(gòu)函數(shù)

1. 析構(gòu)函數(shù)絕對(duì)不要吐出異常。

  如果某個(gè)語句在運(yùn)行期間可能拋出異常,class應(yīng)該提供普通函數(shù)執(zhí)行該操作,而且該函數(shù)需要在析構(gòu)函數(shù)之前被用戶手動(dòng)調(diào)用,而析構(gòu)函數(shù)中包含這個(gè)普通函數(shù)只是起到雙重保險(xiǎn)的作用。

class DBConn

{

public:

  //提供給客戶使用,異常由客戶處理

  //這里談?wù)摰氖莇b.close()吐出異常的處理,不是db.close()關(guān)閉失敗的處理,關(guān)閉失敗是db.close()程序本身的錯(cuò)誤

  void close(){

    db.close();

    closed = true;

  }

?

  ~DBConn(){

    //如果客戶沒有處理,這里將代為處理,只是起到雙保險(xiǎn)的作用;但是原則上,是建議客戶程序員處理。

    if(!closed){

      try{

        db.close();

      }catch(...){

      // 默認(rèn)的處理一般是直接結(jié)束程序,以避免錯(cuò)誤傳播

      }

    }

  }

private:

  DB db;

  bool closed;

};

?

條款09:絕不在構(gòu)造和析構(gòu)過程中調(diào)用virtual函數(shù)

  如果class中含有virtual函數(shù),在構(gòu)造函數(shù)中調(diào)用該函數(shù),而此時(shí)派生類還沒能創(chuàng)建,調(diào)用virtual函數(shù)不能正確指向派生類的函數(shù)。

  析構(gòu)函數(shù)也一樣,派生類先析構(gòu),基類的析構(gòu)函數(shù)調(diào)用virtual函數(shù),此時(shí)vpt指向的函數(shù)已經(jīng)析構(gòu)了。

#include <iostream>

class Base
{
public:
  Base( )
  {

    // 此時(shí)Derived Class還沒有構(gòu)建出來,所以調(diào)用的是Base Classes的print函數(shù)
    print("Constructor");
  }
  virtual ~Base( )
  {

    // 此時(shí)Derived Class已經(jīng)析構(gòu),所以調(diào)用的是Base Classes的print函數(shù)
    print("Destructor");
  }
  virtual void print(std::string str)
  {
    std::cout << "Base Classes: " << str << std::endl;
  }
};

class Derived : public Base
{
public:
  Derived( )
  {
    print("Constructor");
  }
  ~Derived( )
  {
    print("Destructor");
  }
  void print(std::string str)
  {
    std::cout << "Derived Classes: " << str << std::endl;
  }
};

int main( )
{
  Derived dd;
}

運(yùn)行結(jié)果:

Base Classes: Constructor
Derived Classes: Constructor
Derived Classes: Destructor
Base Classes: Destructor

?

條款10:令operator=返回一個(gè)reference to *this

  class Widget{

  public:

    // 也適用于+=,-=, *=

    Widget& operator=(const Widget&){

      ......

      return *this;

    }

  };

  這樣做的好處是可以連續(xù)賦值;

  如:x = y = z = 15;

  會(huì)被正確的解析為:x = (y = (z = 15));

?

條款11:在operator=中處理“自我賦值”

版本1:

Widget& Widget::operator=(const Widget& rhs){

  if(this == &rhs)return *this;

  delete pb;

  try{

    pb = new Bitmap(*rhs.pb);

  }catch(...){

  }

  return *this;

}

版本1的缺點(diǎn)是不具備異常安全性:如果new失敗了(內(nèi)存不足或者Bitmap的copy構(gòu)造函數(shù)出現(xiàn)異常),而舊的pb又已經(jīng)delete了,這個(gè)對(duì)象就成了一顆地雷(一踩就崩;即使不踩,析構(gòu)它也可能會(huì)因?yàn)閐elete pb而崩;就算使用pb之前判斷pb!=NULL,程序也會(huì)進(jìn)入不穩(wěn)定的狀態(tài))。

版本2:

Widget& Widget::operator=(const Widget& rhs){

  if(this == &rhs)return *this;  //可加可不加,需要權(quán)衡。加了,如果自我賦值少,影響效率;不加,如果自我賦值多,由于后面要重建,也會(huì)影響效率。

  Bitmap* pOrig = pb;

    try{

      pb = new Bitmap(*rhs.pb);

      delete pOrig;

    }catch(...){

      throw "賦值失敗了";

    }

  return *this;

}

版本2可以解決異常安全性,如果new失敗了,此時(shí)pb依然指向原來的對(duì)象,這樣程序還是可以繼續(xù)運(yùn)行的,只是進(jìn)入賦值失敗的異常分支,而不是像版本1那樣只能退出了。

版本3:

class Widget{

  void swap(Widget& rhs);

  Widget& Widget::operator=(const Widget& rhs){

    Widget tmp(rhs);

    swap(tmp);

    return *this;

  }

};

使用copy and swap技術(shù),能有效處理異常安全性。

版本4:

把版本3的operator=改為value傳遞

Widget& Widget::operator=(Widget rhs){

  swap(rhs);

  return *this;

}

版本4是版本3的簡(jiǎn)化版,而且可能會(huì)讓編譯器生成更高效的代碼,但是犧牲了清晰性。

?

完整代碼:

#include <iostream>
#include <exception>

class BitMap
{
public:
  explicit BitMap(int ibm)
    : ibm(ibm)
  {
  }
  BitMap(const BitMap& bm)
    : ibm(bm.ibm)
  {
    throw std::string("Test Exception");
  }
  int get( )
  {
    return ibm;
  }
private:
  int ibm;
};

class Widget
{
public:
  explicit Widget(int ibm)
    : pb(new BitMap(ibm))
  {
  }
  ~ Widget( )
  {
    delete pb;
  }

  Widget(const Widget& wg)
    : pb(new BitMap(*wg.pb))
  {
  }

  Widget& operator+=(const Widget& wg)
  {
    Widget tmp(wg);
    std::swap(tmp.pb, pb);
    return *this;
  }

  Widget& operator-=(Widget wg)
  {
    std::swap(wg.pb, pb);
    return *this;
  }

  Widget& operator*=(const Widget& wg)
  {
    if(this == &wg) return *this;
    BitMap* pOrig = pb;
    pb = new BitMap(*wg.pb);
    delete pOrig;
    return *this;
  }

  // 錯(cuò)誤的代碼
  Widget& operator/=(const Widget& wg)
  {
    if(this == &wg) return *this;
    delete pb;
    pb = new BitMap(*wg.pb);
    return *this;
  }

  void print( )
  {
    std::cout << pb->get( ) << std::endl;
  }

private:
  BitMap* pb;
};

int main( )
{
  Widget wg1(1);
  Widget wg2(2);
  wg1.print( );
  wg2.print( );

  try {
    wg1 += wg2;
  } catch(std::string& str) {
    //賦值失敗,但是原來的值沒有修改
    std::cout << str << std::endl;
    wg1.print( );
    wg2.print( );
  }

  try {
    wg1 -= wg2;
  } catch(std::string& str) {
    //賦值失敗,但是原來的值沒有修改
    std::cout << str << std::endl;
    wg1.print( );
    wg2.print( );
  }

  try {
    wg1 *= wg2;
  } catch(std::string& str) {
    //賦值失敗,但是原來的值沒有修改
    std::cout << str << std::endl;
    wg1.print( );
    wg2.print( );
  }

  try {
    wg1 /= wg2;
  } catch(std::string& str) {
    //賦值失敗,原來的值卻成了個(gè)地雷
    //不僅狀態(tài)不穩(wěn)定,而且會(huì)造成內(nèi)存泄漏
    std::cout << str << std::endl;
    wg1.print( );
    wg2.print( );
  }
}

?

條款12:復(fù)制對(duì)象時(shí)勿忘其每一個(gè)成分

1. 不要copy構(gòu)造函數(shù)和copy assignment函數(shù)應(yīng)該確保copy“對(duì)象中的所有成員變量”,以及base classes成分

2.?不要用copy構(gòu)造函數(shù)去實(shí)現(xiàn)copy assignment函數(shù),也不要用copy assignment函數(shù)去實(shí)現(xiàn)copy構(gòu)造函數(shù);

    copy構(gòu)造函數(shù)是,創(chuàng)建并初始化一個(gè)新的對(duì)象,copy assignment函數(shù)是,在已初始化的對(duì)象上做處理;

    如果兩者有相同的代碼,可以抽出來定義private函數(shù);

class PriorityCustomer : public Customer{

public:

  PriorityCustomer(const PriorityCustomer& rhs) : Custormer(rhs), priority(rhs.priority){

  }

  PriorityCustomer& operator=(const PriorityCustomer& rhs){

    Customer::operator=(rhs);

    priority = rhs.priority;

    return *this;

  }

private:

  int priority;

};

例:?

#include <iostream>
#include <sstream>
#include <cassert>

class Base
{
public:
  Base(int a, int b, int c)
    : a(a), b(b), c(c)
  {
  }
protected:
  int toInt( )
  {
    int tmp;
    std::stringstream ss;
    ss << a << b << c;
    ss >> tmp;
    return tmp;
  }
private:
  int a;
  int b;
  int c;
};

class Derived : public Base
{
public:
  Derived( )
    : Base(1, 1, 1), d(1), e(1)
  {
  }
  Derived(int a, int b, int c, int d, int e)
    : Base(a, b, c), d(d), e(e)
  {
  }
  Derived(const Derived& derived)
    : Base(derived), d(derived.d), e(derived.e)
  {
  }
  Derived& operator=(const Derived& derived)
  {
    Base::operator=(derived);
    d = derived.d;
    e = derived.e;
    return *this;
  }
  int toInt( )
  {
    int tmp;
    std::stringstream ss;
    ss << Base::toInt( ) << d << e;
    ss >> tmp;
    return tmp;
  }
private:
  int d;
  int e;
};

int main( )
{
  Derived dd(1, 2, 3, 4, 5);
  assert(dd.toInt( ) ==12345);
  Derived ee(dd);
  assert(ee.toInt( ) ==12345);
  Derived ff;
  assert(ff.toInt( ) ==11111);
  ff = ee;
  assert(ff.toInt( ) ==12345);
}

轉(zhuǎn)載于:https://www.cnblogs.com/leagem/archive/2013/03/20/2972200.html

總結(jié)

以上是生活随笔為你收集整理的读书笔记 Effective C++: 02 构造析构赋值运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产精品一区二区三区在线播放 | 99999精品视频 | 久久高视频 | 青青河边草观看完整版高清 | 日韩精品免费 | 91香蕉国产在线观看软件 | 黄色91在线观看 | 国产精品美女免费视频 | 精品黄色片 | 四虎在线永久免费观看 | 久久久久久久久久久久久久av | 中文字幕资源站 | 97超碰在线久草超碰在线观看 | 成人精品一区二区三区电影免费 | 日韩一区正在播放 | 伊人网综合在线观看 | 亚洲黄色免费观看 | 97影视 | 国产精品国产自产拍高清av | 中文字幕在线观看视频一区二区三区 | 色开心| 亚洲成人av电影在线 | 911国产在线观看 | 亚洲天堂毛片 | 久久精品超碰 | 六月丁香激情综合 | 综合久久五月天 | 成人黄色在线 | 亚洲日韩欧美视频 | 国产美女黄网站免费 | 成人av观看| 色九九视频 | 国产精品18久久久久久久网站 | 成人av一区二区三区 | 少妇bbw搡bbbb搡bbbb | 青春草视频在线播放 | 日韩av资源站| 欧美性极品xxxx娇小 | 人人爽人人澡人人添人人人人 | 日韩欧美网站 | 国产在线91精品 | 亚洲国产一区在线观看 | 亚洲高清视频一区二区三区 | 国产精品久久毛片 | 中文字幕在线观看完整版电影 | 九九99靖品| 中文字幕av影院 | 亚洲综合成人婷婷小说 | 久久久久国产一区二区三区 | 精品久久久免费视频 | 国产精品视频你懂的 | 在线免费观看国产 | 成人亚洲综合 | 日本不卡视频 | 久久网址 | 午夜少妇| 色偷偷av男人天堂 | 少妇自拍av | 99在线观看免费视频精品观看 | 色吊丝在线永久观看最新版本 | 久久与婷婷 | 亚洲一区久久 | 久久精彩 | 亚洲精品动漫久久久久 | 亚州日韩中文字幕 | 丁香花在线观看免费完整版视频 | 人人澡人人舔 | 国产精品国内免费一区二区三区 | 国产一区影院 | 亚洲伊人第一页 | 国产精品久久片 | 精品国产三级 | 激情av五月婷婷 | 精品自拍av | 中文字幕一区二区三区乱码不卡 | 国产精品区免费视频 | 亚洲精品一区二区三区高潮 | 成人性生交视频 | 在线精品视频免费播放 | 久久色在线观看 | 日韩久久精品一区二区 | 欧美视频99 | 在线黄频 | 免费中文字幕 | 99久久99久久精品 | 四虎成人精品永久免费av | 天天插夜夜操 | 欧美精品一区二区免费 | 999久久久免费视频 午夜国产在线观看 | 96视频免费在线观看 | 亚洲精品va| 在线婷婷 | 99re亚洲国产精品 | 在线观看国产福利片 | 久久久免费在线观看 | 六月丁香在线视频 | 亚洲综合最新在线 | 色视频网站在线 | 国产亚洲精品久久久久久无几年桃 | 国产成人精品一区二区三区网站观看 | 久久99精品久久久久久秒播蜜臀 | 丁香婷婷综合激情五月色 | 久久久久久久久久影视 | 成人在线免费看视频 | 色久av| 国产色中涩 | 欧美精品亚洲精品日韩精品 | 成年人三级网站 | 日本在线免费看 | 国产精品欧美一区二区 | 西西4444www大胆艺术 | 久久综合免费 | 在线不卡中文字幕播放 | 91免费日韩 | 国产黄视频在线观看 | 欧美亚洲专区 | 久久99偷拍视频 | 国产精品久久久久四虎 | 99热精品久久 | 天天综合操 | 亚洲精品裸体 | 久久无码精品一区二区三区 | 久久综合久久久久88 | 久草视频在线免费看 | 亚洲日本在线视频观看 | www久久久久| 看国产黄色片 | 97精品视频在线 | 97在线看| 在线观看国产www | 成年人免费观看在线视频 | 一区二区三区影院 | 久久精品国亚洲 | 日韩电影中文字幕在线 | 国产精久久 | 国产成人一区二区精品非洲 | 亚洲男模gay裸体gay | 波多野结衣在线视频免费观看 | 一级黄色在线免费观看 | 久精品视频在线观看 | 日韩在观看线 | 天天爽天天爽天天爽 | 免费观看成年人视频 | 久久久国产日韩 | 人人澡人人澡人人 | 免费在线观看成年人视频 | 国产精品久久久久久一二三四五 | 久久影院中文字幕 | 天干啦夜天干天干在线线 | 国产精品成人免费精品自在线观看 | 久久久久久久久毛片 | 日韩在线一区二区免费 | 成人一区二区在线 | 欧美日韩国内在线 | 日韩在线中文字幕视频 | 免费视频成人 | 亚洲国产最新 | 成人在线视频观看 | 亚洲精品麻豆 | 中文字幕乱码在线播放 | 色香网| 免费av视屏 | 天天天综合| 97看片网 | 日韩一区二区免费播放 | 欧美激情第一区 | 色婷婷色 | 人人狠 | 超碰在线官网 | 色婷婷成人网 | 91看片在线看片 | 亚洲黄a| 国产精品1区2区在线观看 | 国产91精品一区二区 | 亚洲va欧洲va国产va不卡 | 美女视频黄是免费的 | av电影 一区二区 | 亚洲国产成人精品在线观看 | 欧美日韩精品区 | 在线导航福利 | 国产91精品高清一区二区三区 | 欧美乱码精品一区 | 亚洲精品成人免费 | 美女黄频网站 | 国产视频九色蝌蚪 | 青春草免费在线视频 | 欧美精品久久久久久久久免 | 色资源在线 | 国产精品久久久久久麻豆一区 | 欧美日韩国产在线观看 | 一区二区激情视频 | 亚洲欧美日韩一二三区 | 99热这里有 | 久久日韩精品 | 久久免费看av | 麻豆视频观看 | 国产麻豆精品一区二区 | 色欲综合视频天天天 | 天堂网一区二区 | 国产高清在线免费视频 | 色综合小说 | 久久精品aaa | 日韩 在线 | 婷婷激情五月 | 国产无吗一区二区三区在线欢 | 狠狠色狠狠色 | 日本精品一二区 | 九九在线播放 | 天堂在线v | 日韩免费视频 | 国产精品麻豆视频 | av成人在线播放 | 国产区欧美 | 日韩在线观看一区 | 久久婷婷视频 | 婷婷六月中文字幕 | 男女激情片在线观看 | 国产精品24小时在线观看 | 一级一片免费看 | 91av视频网 | 日日日操 | 国产精品国产三级国产不产一地 | 精品久久综合 | 久久久观看 | 一级a性色生活片久久毛片波多野 | 精品在线视频播放 | 69国产盗摄一区二区三区五区 | 91桃色在线播放 | 三级av黄色 | 天天操天天操天天操天天操天天操天天操 | 娇妻呻吟一区二区三区 | av青草| 国产精品久久一区二区三区不卡 | 日韩电影在线观看一区 | 丁香午夜 | 免费福利片 | 色在线观看网站 | 黄色大全免费观看 | 在线欧美a | 久久黄色片子 | 最近字幕在线观看第一季 | 亚洲综合欧美精品电影 | 国产精品成人国产乱 | 久久成人一区 | 国产乱码精品一区二区蜜臀 | 国产精品一区二区 91 | 成 人 黄 色视频免费播放 | 91麻豆国产福利在线观看 | 欧美巨大| 成人黄色电影在线播放 | 欧美狠狠操 | 久久精品99国产精品酒店日本 | 欧美伦理一区二区三区 | 美女视频黄免费的久久 | 国产精品视屏 | 在线观看完整版免费 | 一级特黄aaa大片在线观看 | 成人毛片在线观看 | 亚洲黄色在线 | 国产精品久久久久久久久免费看 | 黄色毛片大全 | 97国产在线播放 | 日韩免费在线一区 | 国产日韩中文字幕 | 91视频在线播放视频 | 欧美激情第一区 | 欧美精品久久久久久久久久 | 亚洲伊人成综合网 | 国产精品对白一区二区三区 | 中文字幕中文字幕在线中文字幕三区 | 亚洲伦理一区 | 午夜美女视频 | 日韩精品久久久久久久电影99爱 | 最近日本字幕mv免费观看在线 | 免费观看全黄做爰大片国产 | 国产中年夫妇高潮精品视频 | 日韩三级免费观看 | 国产色婷婷在线 | 在线观看一级视频 | 亚洲精品xx| 激情五月看片 | 黄色软件在线观看免费 | 最新日韩在线观看视频 | 久久视频中文字幕 | 免费视频 你懂的 | 亚洲精品色 | 夜夜爽88888免费视频4848 | 久草久视频 | 婷婷久久精品 | 美女网站在线播放 | 99精品免费在线 | 美女久久精品 | 久久婷婷色 | 久久欧洲视频 | 免费观看91视频 | 麻豆影视网| 午夜精品久久久久久久99热影院 | 国产精品久久久久久久7电影 | 97精品电影院 | 久久国内视频 | 国产乱对白刺激视频不卡 | 狠狠干天天射 | 中文字幕中文字幕在线中文字幕三区 | 在线播放你懂 | 伊人官网 | 中文在线免费观看 | 久草在线资源观看 | 激情视频在线高清看 | 天天干天天干天天射 | 中文字幕在线观看资源 | 国产一区二区三区免费观看视频 | 国产一区二区三精品久久久无广告 | 91九色自拍 | 最新日韩在线观看视频 | 丁香花在线视频观看免费 | 韩国av一区 | 国产主播99| 中文字幕三区 | 天天射天天添 | 丁香激情五月婷婷 | 久久久久久免费 | 狠狠色综合欧美激情 | 日韩在线电影一区 | 日韩激情av在线 | 最新av网址在线观看 | 欧美视频一区二 | 亚洲一区二区三区在线看 | 精品国产成人在线影院 | 狠狠天天 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 日本高清免费中文字幕 | 99久久综合国产精品二区 | 国产成人精品一区二三区 | 国产免费观看高清完整版 | 天堂av网在线 | 中文字幕在 | 久久久久久国产精品亚洲78 | 69视频国产| 日本少妇视频 | 久久午夜网 | 亚洲 欧美 另类人妖 | 免费观看黄色12片一级视频 | 日日爽天天 | 日韩一区二区三区高清免费看看 | 欧美日韩一区二区免费在线观看 | 国产精品男女视频 | 亚洲视频999 | 西西444www大胆高清图片 | 午夜久久视频 | 亚洲国产丝袜在线观看 | 99国产在线 | 黄色com| a视频在线观看免费 | 久久久久久久久久电影 | 日韩免费网址 | 久久99精品久久久久久清纯直播 | 黄色av网站在线免费观看 | 欧美国产三区 | 在线免费观看亚洲视频 | 91色蜜桃 | a久久免费视频 | 日本精品在线看 | 婷婷丁香色综合狠狠色 | 91精品啪啪| 亚洲精品日韩一区二区电影 | 美女免费视频网站 | 久久久久蜜桃 | 四虎影视精品 | 超碰人在线 | 成人av网站在线观看 | 免费国产在线观看 | 久久国产精彩视频 | 在线电影日韩 | 国产黄色免费 | 日本黄网站 | 免费看三级网站 | 我要看黄色一级片 | 久久久久国产一区二区 | 久久黄色a级片 | 欧美精品在线一区二区 | 国产视频一区在线 | 国内精品久久久久久久久久久久 | 国产精品免费在线视频 | 黄色a视频免费 | 久久久久久毛片精品免费不卡 | 国产亚洲人成网站在线观看 | 欧美激情精品 | 99精品免费久久久久久久久日本 | 久久69精品久久久久久久电影好 | 日韩国产高清在线 | 国内精品一区二区 | 狠狠躁夜夜a产精品视频 | 婷婷干五月 | 国产精品美女免费 | 国产综合在线视频 | 九九视频免费在线观看 | 日韩大陆欧美高清视频区 | 九九99| 欧美日韩中文字幕综合视频 | 成人av影院在线观看 | 九九久久视频 | 在线亚洲精品 | 97在线观| 91在线日韩 | 亚洲欧美国产精品18p | 香蕉视频在线看 | 久久久国产精品电影 | 国产综合福利在线 | 欧美日韩激情视频8区 | 欧美另类一二三四区 | 99爱国产精品| 久久99网站 | 福利久久久 | 国产99爱 | 99热亚洲精品 | 在线日韩视频 | 亚洲精品一区中文字幕乱码 | av资源免费在线观看 | 天天射天天做 | 亚洲黄a | www.久久91 | 国产一区二区不卡在线 | 国产超碰在线 | 久草精品在线观看 | 国产在线91精品 | 欧美一级片在线播放 | 97色资源 | 人人爽人人做 | 日韩一级成人av | 精品国产乱码久久久久久久 | 国产小视频在线免费观看 | 欧美日韩国产网站 | 在线观看视频亚洲 | 国产精品99精品 | 99综合视频| 国产免费一区二区三区网站免费 | 国产护士hd高朝护士1 | 日韩免费不卡视频 | 日本黄色免费在线 | 日日爱夜夜爱 | 久久女同性恋中文字幕 | www.com操| 国产精品免费一区二区三区在线观看 | 国产亚洲在线视频 | 日韩激情影院 | 久久综合婷婷综合 | 成人久久综合 | 黄色影院在线播放 | 日韩欧美一区二区在线观看 | 丁香六月激情 | 96亚洲精品久久久蜜桃 | 国产精品久久久久久久久久妇女 | 91看片淫黄大片91 | 国产精品视频地址 | 国产高h视频 | 久久成人综合 | 91成人区| 国产中文字幕在线播放 | 国产专区在线看 | 国内精品在线观看视频 | 精品国产视频在线观看 | 国产手机视频在线观看 | 99久久精品免费看 | 97涩涩视频| 亚洲黄色av网址 | 天天久久夜夜 | 成片免费| 国产91精品一区二区绿帽 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 亚洲涩涩涩 | 久久国产精品99久久久久 | 国产成人精品在线播放 | 国产成人av综合色 | 日韩黄色网络 | 久久久久久高潮国产精品视 | 国产一级性生活视频 | 丁香婷婷网 | 黄色一级动作片 | 国产成人一级 | 亚洲电影久久久 | 三级黄免费看 | 日韩精品一区二区三区视频播放 | 91免费在线看片 | 九九热只有精品 | 国产成人精品综合久久久久99 | 国内精品久久久久久久久久 | 成人免费网站视频 | 国产精品二区在线观看 | 天天射天天艹 | 久久免费视频3 | 日韩精品第一区 | 国产一区二区免费在线观看 | 国产精品永久免费 | 美女黄视频免费看 | 天天骚夜夜操 | 午夜精品视频福利 | 黄色一级片视频 | 国产精品嫩草55av | 99爱视频| 精品欧美一区二区精品久久 | 少妇啪啪av入口 | 欧美日韩精品电影 | 日韩r级电影在线观看 | 午夜av激情| 99色在线视频 | 欧美日韩精品在线观看视频 | 天天操天天操天天操天天操天天操 | 成人app在线播放 | 国产高清 不卡 | 亚洲一区二区三区在线看 | 精品国产_亚洲人成在线 | 亚洲理论在线 | 国模视频一区二区三区 | 网址你懂的在线观看 | 日韩精品免费在线观看视频 | 在线观看一二三区 | 手机av片 | 久久久久久久久久久精 | 久久久久久久久综合 | 亚洲激情av | 三级视频日韩 | 中文字幕在线看视频 | 国产尤物视频在线 | 超级碰碰碰视频 | 精品嫩模福利一区二区蜜臀 | 亚洲毛片视频 | 成人a免费看 | 黄色网在线播放 | 精品久久久精品 | 久久久在线观看 | 97视频免费在线 | 天天干天天上 | 亚洲国产欧洲综合997久久, | 中文字幕在线影院 | 久久丁香网 | 国产小视频福利在线 | 欧美日韩一区二区三区视频 | 日韩中文字幕免费看 | 91久久在线观看 | 美女视频黄是免费的 | 国产不卡在线视频 | 欧美日韩国产综合一区二区 | 人人看人人草 | 免费不卡中文字幕视频 | 欧美性视频网站 | 国产va在线观看免费 | www.五月天色| 亚洲精品国| 久av在线| 亚洲一区免费在线 | 91av播放 | 成人av在线看 | 亚洲一区黄色 | 国产一级二级在线观看 | 99在线观看免费视频精品观看 | 99综合影院在线 | 最近中文字幕久久 | 久久综合色播五月 | 中文字幕色综合网 | 久久精品中文字幕免费mv | www视频在线免费观看 | 91在线入口 | 极品嫩模被强到高潮呻吟91 | 国产成人亚洲精品自产在线 | 在线观看成人小视频 | 国产精品12 | a极黄色片 | 99国产情侣在线播放 | 欧美调教网站 | 国产精品 9999 | 久综合网 | 五月天视频网站 | 91九色视频在线播放 | 亚洲国产精品推荐 | 国产小视频福利在线 | 伊色综合久久之综合久久 | 国产视频在线观看一区 | 久久国产美女视频 | 亚洲精品永久免费视频 | 成人性生交大片免费看中文网站 | 天堂va在线观看 | 在线免费高清 | 手机版av在线 | 国产中文a | 日韩网站免费观看 | 91豆花在线观看 | 亚洲无人区小视频 | 99免费在线观看视频 | 国产午夜麻豆影院在线观看 | 亚洲在线视频播放 | 91爱爱中文字幕 | 国产精品久久一 | 一区二区欧美在线观看 | 久久免费国产 | 毛片基地黄久久久久久天堂 | 久久久久久久久久久综合 | 久久9精品 | 91在线视频在线观看 | 日本91在线 | 在线观看免费av网 | 久草在线观 | 婷婷六月中文字幕 | 中文字幕一二三区 | 午夜av片| 国产一级精品在线观看 | 九九国产精品视频 | 日日夜夜精品网站 | 激情喷水| 91插插影库 | 一区二区精品视频 | 日韩欧美精品一区二区 | 国产成人a亚洲精品v | 欧洲性视频 | 色小说av | av福利超碰网站 | 精品福利国产 | 97网站| 99免费在线播放99久久免费 | 欧美一二三区在线观看 | 久久av观看 | 狠狠操狠狠干2017 | 日韩电影在线观看中文字幕 | 成人av网站在线 | 91麻豆传媒 | 久久三级视频 | 成年人免费观看国产 | 中文字幕在线看片 | 在线成人国产 | 中文字幕在线人 | 久久久久久久久黄色 | 97人人澡人人添人人爽超碰 | 日韩一级电影在线观看 | 久久99九九99精品 | 日韩在线视频线视频免费网站 | 日韩在线看片 | 成人精品在线 | 天天射天天干天天操 | 天天干夜夜干 | 日韩精品一区二区三区高清免费 | 最新亚洲视频 | 中文字幕成人网 | 国产不卡av在线 | 在线免费国产 | 国产一区免费在线观看 | 69国产成人综合久久精品欧美 | 成人午夜电影网站 | 久久免费国产 | 日韩免费福利 | 成人九九视频 | 天天干天天玩天天操 | 国产黄色片久久 | 精品国产电影一区二区 | 欧美一二区在线 | 韩国三级av在线 | 国产精品美 | 中国美女一级看片 | 毛片无卡免费无播放器 | 日b视频国产 | 久久久久日本精品一区二区三区 | 91高清免费看 | 91丨九色丨高潮 | 91精品国产91热久久久做人人 | 超碰人在线 | 欧美久久久久久久久久久久 | 亚洲第一成网站 | 亚洲精品久久视频 | 西西人体www444 | 正在播放国产精品 | 亚洲国产日韩一区 | 黄色三级在线看 | 久久国产a | 欧美黑人xxxx猛性大交 | 91av手机在线 | 中文字幕亚洲国产 | 成人毛片一区 | 99精品视频一区二区 | 亚洲影院天堂 | 狠狠色丁香久久婷婷综合丁香 | 99在线视频观看 | 精品久久久久久久久久久久久久久久久久 | 国产精品成久久久久 | 国产色在线,com | 午夜久久影院 | 丁香六月伊人 | 在线亚洲日本 | 精品国产一二三 | 国产一区在线视频 | 麻豆视频国产在线观看 | 国产91电影在线观看 | 91精品国产自产在线观看 | 国产不卡免费视频 | 免费看的av片 | 日本天天操 | 美女在线观看av | 性色av一区二区三区在线观看 | 狠狠躁日日躁狂躁夜夜躁av | 亚洲欧美国产精品va在线观看 | 国产午夜精品一区二区三区 | 国产+日韩欧美 | 91人人澡人人爽 | 婷婷色在线资源 | 婷婷网在线 | 亚洲综合一区二区精品导航 | 亚洲综合视频在线观看 | 久久亚洲综合色 | 18国产精品福利片久久婷 | 视频91在线| 四虎4hu永久免费 | 国产96视频| 久久免费国产精品1 | 亚洲乱码久久久 | 亚洲成人av在线 | 日本h在线播放 | 片黄色毛片黄色毛片 | 久久午夜免费视频 | 精品国产精品一区二区夜夜嗨 | 免费视频国产 | 天天射天天| 一区二区三区四区精品视频 | 日韩av中文字幕在线 | 午夜精品福利一区二区三区蜜桃 | 中文字幕大全 | 综合网五月天 | 欧美日韩精品影院 | 国产免费又爽又刺激在线观看 | 久久精品国产99 | 国产视频首页 | 日韩电影精品 | 亚洲春色综合另类校园电影 | 亚洲精品在线看 | 久久久久女人精品毛片九一 | 国产精品女人久久久久久 | 97国产在线 | 97色婷婷成人综合在线观看 | 中文字幕一区二区三区四区视频 | 五月天综合色激情 | 婷婷国产在线观看 | 在线观看免费版高清版 | 日韩免费在线观看网站 | 99精品一级欧美片免费播放 | 一区二区激情视频 | av免费播放| 国产高清av在线播放 | 日韩免费在线网站 | 精品天堂av| 香蕉在线视频观看 | 美女禁18| 亚洲一区二区视频 | 日韩免费成人 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 久久av中文字幕片 | 精品视频在线观看 | 国产91九色蝌蚪 | 国产无套精品久久久久久 | 特级西西444www大胆高清无视频 | 日日操操 | 一区二区三区日韩视频在线观看 | 夜夜躁狠狠躁日日躁 | 又黄又刺激视频 | 精品久久一区二区 | 一区二区在线影院 | av电影久久 | 国产无套精品久久久久久 | 在线观看91久久久久久 | 中文字幕视频 | 日韩免费视频一区二区 | 在线观看视频国产一区 | 国产免费观看久久 | 丁香婷婷色 | 97人人爽 | av一级一片| 中文字幕免费高清在线 | 四虎精品成人免费网站 | 天天摸天天舔 | 在线a人片免费观看视频 | 国产资源网 | 97视频入口免费观看 | 国产精品淫片 | 亚洲视频,欧洲视频 | 国产视频精品在线 | 国产精品美女毛片真酒店 | 久久国产品 | 午夜a区 | 91麻豆视频网站 | 久久综合久久综合久久综合 | 欧美日韩精品在线播放 | 国产精品毛片一区视频播不卡 | 色婷婷丁香| 欧美视频www | 狠狠色丁香久久综合网 | 91精品一区二区三区蜜桃 | 天天干夜夜操视频 | 97在线看| 丁香六月激情 | 亚洲综合小说电影qvod | 久久夜色电影 | 免费人人干 | 国产成人久久精品77777 | 97色涩 | 亚洲精品一区二区在线观看 | 亚洲国产人午在线一二区 | 91成人免费视频 | 综合婷婷丁香 | 国产视频欧美视频 | 国产精品6999成人免费视频 | 色噜噜日韩精品一区二区三区视频 | 日本大片免费观看在线 | 99中文视频在线 | 国产手机免费视频 | 久久久久久久网 | 色婷婷激情五月 | av电影在线观看 | 久久久久看片 | 一区二区三区中文字幕在线观看 | 国产91精品久久久久 | 国产精品完整版 | 九九综合在线 | 欧美三级高清 | 欧美一级免费在线 | 91免费在线看片 | 国产色婷婷精品综合在线手机播放 | 天天鲁天天干天天射 | 日韩高清一区 | 午夜天使| 91麻豆精品国产 | 夜添久久精品亚洲国产精品 | 欧美一区,二区 | 国产 视频 高清 免费 | 亚洲国产成人精品电影在线观看 | 久久久999免费视频 日韩网站在线 | 婷婷性综合 | 中文字幕人成乱码在线观看 | 久久伦理视频 | 日夜夜精品视频 | av在线亚洲天堂 | 久久一精品 | 91在线视频在线 | 99夜色| 91麻豆国产福利在线观看 | 五月婷婷六月综合 | 色婷婷伊人 | 九九热精品视频在线播放 | 97在线观| 亚洲欧美视频在线 | 激情久久久久久久久久久久久久久久 | 999成人| 日韩精品视频在线免费观看 | 中文成人字幕 | av电影久久 | 91麻豆视频 | 久久久久国产精品一区二区 | 午夜精品久久久久久中宇69 | 国产精品精 | 亚洲爱视频 | 日日爽| 欧美日韩国产精品爽爽 | 亚洲精品乱码久久久久久按摩 | 国产精品国产三级国产aⅴ无密码 | av在线播放亚洲 | 精品国产视频在线 | 欧美日韩中文国产一区发布 | 成人免费视频网站 | 成人在线一区二区 | 亚洲天堂网站视频 | www.99热精品 | 国产精品mv在线观看 | 久久一本综合 | 日韩草比 | 亚洲情婷婷 | 91桃色免费视频 | 一区二区三区免费网站 | 日日操网站| 日韩一区二区三区在线观看 | 日韩av中文在线 | 一区二区三区播放 | 午夜a区 | 最近的中文字幕大全免费版 | 色资源网在线观看 | 欧美一区二区三区在线看 | 国产一级视频在线 | 国产一卡久久电影永久 | 亚洲激情国产精品 | 日韩视频一区二区 | 久久精品免费播放 | 99久高清在线观看视频99精品热在线观看视频 | 国产电影一区二区三区四区 | 中文字幕久久精品 | 超碰在线人人爱 | 亚洲专区视频在线观看 | 久久这里有精品 | 亚洲日本中文字幕在线观看 | 久久久久久久久久久久亚洲 | 亚洲情婷婷 | 精品久久久免费 | a级国产乱理论片在线观看 伊人宗合网 | 91成人看片 | 在线看不卡av | 亚洲精品久久在线 | 国产伦理剧| 日本精油按摩3 | 天天操比| 高潮久久久久久久久 | 99成人在线视频 | 天天人人 | 91亚色视频| 91av九色| 免费在线观看av不卡 | 国产精品18久久久久久久久久久久 | 五月综合激情婷婷 | 国产黄色免费观看 | 波多野结依在线观看 | 日韩一区二区三区视频在线 | 国产理论在线 | 国产美女免费视频 | 在线观看亚洲精品视频 | 中文字幕中文中文字幕 | 成人亚洲免费 | 日韩在线高清免费视频 | 中文字幕免费高清av | 欧美久久久久久久久中文字幕 | 91av视频观看 | 成人a免费视频 | 免费在线一区二区 | 国产精品片 | 不卡的av | 在线不卡a| 免费看的黄色的网站 | 黄污污网站 | 97精品一区 | 中文字幕a∨在线乱码免费看 | 亚洲精品国产免费 | 久久久免费视频播放 | 天天操天天摸天天干 | 日本亚洲国产 | 天天伊人网 | 日韩一区二区免费播放 | 欧美精品一区二区三区一线天视频 | 97国产大学生情侣白嫩酒店 | 在线精品在线 | 午夜的福利 | 国产精品一区二区三区在线免费观看 | www.com久久| 麻豆成人网 | 伊人手机在线 | 国产精品第52页 | 国产精品免费观看网站 | 正在播放国产一区 | 黄网站污| 日韩精品一区不卡 | 色资源中文字幕 | 色综合天天狠狠 | 欧美日韩一区二区三区免费视频 | 韩国在线一区 | 亚洲精品乱码久久久久久写真 | 日韩在线国产精品 | 天堂在线v | 狠狠地操 | 久久久久国产精品免费 | 热久久免费视频 | 欧美日韩在线第一页 | 天天色天天搞 | 91在线看视频 | www婷婷 | 狠狠色丁香九九婷婷综合五月 | 天天天天天天干 | 天天操天天操 | 成人av一级片 | a成人v| 国产精品久久久久久五月尺 | 午夜精选视频 | 五月天堂网| 麻豆免费视频 | 成片免费观看视频大全 | 手机在线看片日韩 | 日韩欧美高清视频在线观看 | 精品91视频 | 成人久久久久久久久久 | 国产资源在线播放 | 国产精品久久久久久久久久直播 | 国产精品一区二区三区在线播放 | 超碰人人干人人 | av在线免费在线观看 | 99精品视频免费看 | av看片在线观看 | 日韩经典一区二区三区 | 免费观看一级视频 | 亚洲天堂网在线视频观看 | 欧美国产日韩久久 | 视频99爱| 日韩网站在线观看 | 国产精品成人av久久 | 亚洲黄色激情小说 | 日韩 在线a | 五月婷婷丁香激情 | 久久激情视频 | 日本精品视频在线观看 | 色香蕉网| a黄色影院 |