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

頭文件循環引用:如何破解這個編程死循環?

開發
在這趟奇妙的C++頭文件之旅中,我們一起探討了如何優雅地引入頭文件,就像在圖書館借書一樣簡單有趣。

嘿,讓我們來聊聊C++中那些可愛的頭文件引入方式吧! 

當我們在代碼中看到#include 時,你是否注意到它后面可以跟著兩種不同的"穿搭" —— 尖括號<> 和雙引號""??? 這可不是隨便選的哦!

想象一下,尖括號<> 就像是去圖書館借書 ??,系統會先去"公共書架"(編譯器的標準路徑)找,找不到再去"特藏室"(系統變量路徑)翻找。這種方式通常用來引入那些標準庫文件,比如我們常見的<iostream> 和<string> 。

而雙引號"" 則更像是在自己家里找書 ??,它會先在"書房"(當前文件目錄)翻找,找不到才會去"圖書館"(編譯器路徑和系統變量)借閱。這種方式主要用于我們自己編寫的頭文件,就像是我們自己的私人筆記本一樣。

頭文件引入小故事

來來來,讓我給你講個有趣的故事!想象一下,在C++的世界里,引入頭文件就像是在圖書館借書一樣有趣 ??

當我們需要標準庫的時候,就像去大圖書館的公共區域借書一樣 ???,我們會這樣寫:

#include <iostream>     // 借本輸入輸出的魔法書 ?
#include <string>       // 再來本字符串變變變 ??
#include <vector>       // 這本是動態數組的秘籍 ??
#include <algorithm>    // 最后來本算法寶典 ??

但是呢,有時候我們也需要用自己寫的"私房菜譜"(自定義頭文件)??,這時候就要用雙引號來"翻看"啦:

#include "MyClass.h"           // 就在書桌上的筆記本 ??
#include "utils/helpers.h"     // 放在工具箱里的說明書 ???
#include "../common/config.h"  // 樓上收藏的配置手冊 ??

看,是不是感覺頭文件引入也可以這么有趣呢??? 記住啦,標準庫就像公共圖書館的藏書,用尖括號<> 來借閱;而自己的小筆記就用雙引號"" 來翻看,就像在自己的書房里找書一樣方便!??

頭文件查找過程詳解

讓我們以#include <iostream> 為例,一起來探索編譯器是如何查找和引入頭文件的奇妙過程吧! ??

1. 使用尖括號<> 的查找過程 ??

當我們寫下#include <iostream> 時,編譯器會像偵探一樣按以下順序仔細查找 ???♂?:

(1) 標準庫目 ?? 編譯器在安裝時就預先配置了標準庫的搜索路徑。這些神奇的路徑是如何確定的呢?

a.編譯器安裝時的配置 ??

# GCC編譯器 ???
g++ -v -E -x c++ /dev/null

# Clang編譯器 ??
clang++ -v -E -x c++ /dev/null

b.默認搜索路徑 ???

# 在 Linux/Unix 系統中通常是: ??
/usr/include/c++/<版本號>      # C++標準庫頭文件 ??
/usr/local/include            # 本地安裝的庫文件 ??
/usr/include                  # 系統級別的頭文件 ??

# 在 Windows + MSVC 中通常是: ??
C:\Program Files (x86)\Microsoft Visual Studio\<版本>\<版本號>\VC\include

c.搜索順序的原理 

例如,當你包含<iostream> 時的實際過程:

#include <iostream>

// 1. 編譯器首先在內置緩存中找iostream
// 2. 如果沒找到,則在/usr/include/c++/<版本號>/iostream查找
// 3. 找到后,檢查是否已經被包含(通過頭文件保護符)
// 4. 如果是首次包含,則讀取并處理文件內容

當我們安裝C++編譯器時,安裝程序會自動設置標準庫的位置,這些位置被硬編碼到編譯器的配置文件中。

可以通過以下魔法咒語查看編譯器的搜索路徑:

  • 編譯器首先檢查內置的頭文件緩存(如果有的話) ??
  • 然后按照預定義的搜索路徑順序查找 ??
  • 最后查找環境變量指定的路徑 ??

(2) 為什么要使用這種搜索機制?

  • 安全性:系統頭文件存放在受保護的目錄中,防止意外修改
  • 統一性:所有項目都使用相同版本的標準庫,確保兼容性
  • 效率:預定義的搜索路徑可以加快文件查找速度
  • 維護性:系統升級時只需更新中央位置的文件

(3) 如何查看具體的頭文件內容?

# 在Linux系統中可以直接查看
cat /usr/include/c++/<版本號>/iostream

# 或者使用編譯器顯示預處理后的內容
g++ -E myfile.cpp | less

2. 使用雙引號"" 的查找過程 ??

以#include "myproject.h" 為例 ??:

  • 首先在當前源文件所在目錄查找 ??
// 如果源文件在 src/main.cpp
#include "myproject.h"  // 會先查找 src/myproject.h ??
  • 然后查找相對路徑 ???
// 在 src/main.cpp 中
#include "../include/myproject.h"  // 查找上級目錄的 include 文件夾 ??
  • 最后按照尖括號<> 的查找規則繼續查找 ??

頭文件引入的實際過程

讓我們看一個完整的例子 ??:

// main.cpp ??
#include <iostream>
#include "utils/math_helper.h"

int main() {
    // ...
}

預處理器處理這個文件的步驟 ??:

  • 展開<iostream> ??
// 1. 在標準庫路徑找到 iostream ??
// 2. 檢查是否已經包含(通過頭文件保護符)???
// 3. 展開內容,例如:?
namespace std {
    class ios_base { /*...*/ };  // 基礎輸入輸出類 ??
    class istream { /*...*/ };   // 輸入流類 ??
    // ...
}
  • 展開"utils/math_helper.h" ??
// 1. 先在當前目錄查找 utils/math_helper.h ??
// 2. 如果找不到,繼續在編譯器指定的路徑查找 ???
// 3. 展開內容 ??

項目實踐中的頭文件組織

在實際項目中,推薦這樣組織頭文件 ???:

project/ ?? ├── include/ # 公共頭文件目錄 ?? │ ├── project/ # 項目頭文件 ?? │ │ ├── core.h # 核心頭文件 ? │ │ └── utils.h # 工具頭文件 ??? │ └── third_party/ # 第三方庫頭文件 ?? ├── src/ # 源文件目錄 ?? │ ├── core.cpp # 核心實現 ?? │ └── utils.cpp # 工具實現 ?? └── CMakeLists.txt # CMake 構建文件 ???

使用時 ????:

// 在 src/core.cpp 中 ??
#include "project/core.h"    // 使用項目頭文件 ??
#include <algorithm>         // 使用標準庫 ??

所以下次當你在寫代碼時,記住這個簡單的規則 ??:

  • 系統的標準庫文件就用尖括號<> ??#include <iostream> ??
  • 自己寫的頭文件就用雙引號"" ??#include "myheader.h" ??

就是這么簡單又合理! ? 讓我們的代碼結構更清晰、更優雅! ??

頭文件循環引用:一個有趣的解決方案

嘿,小伙伴們!?? 今天讓我們來聊一個在 C++ 開發中經常遇到的"死循環"難題 ??

想象一下,就像兩個好朋友互相依賴的情況 ?? —— PersonA 想認識 PersonB,而 PersonB 也想認識 PersonA。在代碼世界里,這種情況可能會讓編譯器陷入混亂 ??

來看看這個有趣的例子:

// 文件:header1.h
#include "header2.h"
class PersonA {
private:
    PersonB* m_friend;  // 想和 PersonB 做朋友 ??
public:
    void sayHello();
};

// 文件:header2.h
#include "header1.h"
class PersonB {
private:
    PersonA* m_friend;  // 也想和 PersonA 做朋友 ??
public:
    void greet();
};

哎呀!這樣寫代碼就像兩個人互相追著對方的尾巴轉圈圈 ??,編譯器看到這種情況就會抓狂: "咦?要先編譯誰呢?" ??

不過別擔心!我們有一個聰明的解決方案 ? —— 就是使用"前向聲明"這個魔法咒語 ?? 告訴編譯器:"嘿,相信我,這個類待會兒就來!"

就像這樣改寫:

// 文件:header1.h
#ifndef HEADER1_H
#define HEADER1_H

class PersonB;  // 先說好:PersonB 待會兒就來!?
class PersonA {
    // ... 其他代碼保持不變 ...
};

#endif

這樣一來,我們的代碼就像一場優雅的舞會 ????,每個類都能找到自己的舞伴,編譯器也不會暈頭轉向啦!記住,有時候編程就像交朋友,不要太著急,慢慢來,總會遇到對的那個人(啊不,是類 ??)!

那如果不是指針引用呢?

有時候,我們可能會遇到需要直接引用對象而不是指針的情況:

// 文件:header1.h
#include "header2.h"
class PersonA {
private:
    PersonB m_friend;  // 想直接把朋友裝進口袋!??
public:
    void sayHello();
};

// 文件:header2.h
#include "header1.h"
class PersonB {
private:
    PersonA m_friend;  // 我也要把朋友裝進口袋!
public:
    void greet();
};

哎呀!這下可有意思了!?? 編譯器看到這段代碼時就像是在解一個"先有雞還是先有蛋"的問題 ????

為什么呢?讓我們來演一出小品:想象編譯器是一位可愛的搬家工人 ??

搬家工人:「嗯,讓我看看要搬的東西...PersonA類需要多大的空間呢?」 ?? 「哦,它里面有個PersonB,得先知道PersonB多大」 ?? 「那讓我看看PersonB...咦?它里面又有個PersonA?」 ?? 「但我還不知道PersonA多大啊...」 ?? 「但要知道PersonA多大,我得先知道PersonB多大...」 ?? 就這樣無限循環下去啦!

這就像是兩個小朋友互相說:"我要做一個和你一樣大的餅干!" "不,我要做一個和你的餅干一樣大的餅干!" ?? 最后誰也不知道該做多大的餅干才對!??

這就是為什么前向聲明在這種情況下幫不上忙 - 因為編譯器需要知道類的具體大小才能分配內存。用指針的話就不同啦,指針就像是一張藏寶圖 ???,大小是固定的,不管藏寶箱(對象)有多大!

所以下次如果你遇到這種情況,記得要么用指針(藏寶圖)???,要么用智能指針(帶GPS定位的藏寶圖)??,要么就得重新???計你的類結構咯!就像重新安排兩個小朋友的玩具收藏方式一樣!??

接口分離

不過別擔心,我們有個超棒的解決方案 - 接口分離!它就像是給小朋友們發了一張"交友名片"一樣 ??。這張名片上只寫著最重要的信息:"我會打招呼!",而不用把所有細節都告訴對方。

來看個具體的例子:

// 先設計一張可愛的交友名片 ??
class IFriend {
    virtual void sayHi() = 0;     // 我會說"嗨!" ??
    virtual void share() = 0;     // 我會分享玩具! ??
    virtual ~IFriend() = default; // 記得要好好說再見 ??
};

// 小明拿著這張名片來交朋友 ??
class XiaoMing : public IFriend {
    void sayHi() override { 
        std::cout << "嗨,我是小明!" << std::endl; 
    }
    void share() override {
        std::cout << "給你我的變形金剛!" << std::endl;
    }
};

// 小紅也想交朋友 ??
class XiaoHong {
private:
    IFriend& myFriend;  // 只需要知道對方有張交友名片就夠啦!
public:
    void playWith() {
        myFriend.sayHi();    // 和朋友打招呼 ??
        myFriend.share();    // 一起分享玩具 ??
    }
};

看!通過這種方式,小明和小紅就能愉快地玩耍了,完全不用擔心"我需要先認識你,還是你需要先認識我"這樣的煩惱 ??。這就是接口分離的魔力 ? - 它讓我們的代碼世界變得更簡單,更有趣!

記住啦,當你遇到循環引用的困擾時,就想想這個可愛的交友名片故事吧!讓代碼像小朋友們一樣,輕松快樂地交朋友!?? 這就是接口分離的精髓所在!??

總結

嘿,親愛的代碼冒險家們!?? 在這趟奇妙的C++頭文件之旅中,我們一起探討了如何優雅地引入頭文件,就像在圖書館借書一樣簡單有趣 ??。記住,標準庫文件就像公共圖書館的藏書,用尖括號<>來借閱,而自己的小筆記就用雙引號""來翻看,就像在自己的書房里找書一樣方便!??

當然啦,頭文件的循環引用就像兩個小朋友互相追著對方的尾巴轉圈圈 ??,但別擔心,我們有聰明的解決方案,比如用前向聲明這個魔法咒語 ??,或者用接口分離的交友名片 ??,讓代碼世界變得更簡單,更有趣!?

責任編輯:趙寧寧 來源: everystep
相關推薦

2024-12-04 09:47:26

C++頭文件實現類

2013-06-06 13:34:56

HashMap線程不安全

2018-10-10 20:20:14

2011-09-07 10:13:04

IPv6IPv4

2020-12-17 07:39:30

HashMap死循環數據

2025-01-21 00:00:00

HashMap死循環數據損壞

2011-08-29 16:23:29

Lua腳本

2022-01-20 08:44:25

HashMap死循環開放性

2022-01-18 06:59:50

HashMap循環底層

2020-09-29 15:24:07

面試數據結構Hashmap

2010-04-26 13:30:21

服務器虛擬化

2025-08-21 13:40:58

頭文件循環項目

2022-06-18 23:10:56

前端模塊循環依賴

2010-03-11 14:15:24

Python循環

2020-05-27 12:45:52

HashMapJava加載因子

2019-12-26 12:47:10

BashLinux命令

2009-07-24 17:43:35

循環引用ASP.NET AJA

2017-05-04 20:15:51

iOSNSTimer循環引用

2021-10-27 07:15:36

Go 循環引用

2018-06-29 09:06:18

創業公司事業
點贊
收藏

51CTO技術棧公眾號

久久99久久99精品中文字幕 | 成人另类视频| 最新中文字幕一区二区三区 | 国产女人18毛片水18精| 在线成人国产| 在线日韩中文字幕| 欧美性猛交乱大交| 欧美片第一页| 亚洲黄网站在线观看| 久久久水蜜桃| 97人妻精品一区二区三区动漫| 欧美精品大片| 亚洲四色影视在线观看| 少妇伦子伦精品无吗| 欧美日韩五码| 午夜成人在线视频| 久久久国产精华液999999| 色呦呦在线看| 黄色片免费在线观看| 国产成人免费在线视频| 91高清免费在线观看| 国产人与禽zoz0性伦| 亚洲精品福利视频| 国产精品久久精品视| 69视频免费在线观看| 中文在线播放一区二区| 夜夜嗨av一区二区三区免费区| wwwxx日本| 成人黄色91| 日本高清视频一区二区| 久无码久无码av无码| 成人福利网站| 亚洲欧洲美洲综合色网| 视频在线精品一区| 五月婷婷六月丁香| 丰满放荡岳乱妇91ww| 成人看片人aa| 国产又粗又猛又爽又黄91| 香蕉国产精品偷在线观看不卡| 欧美大片欧美激情性色a∨久久| 亚洲色偷偷色噜噜狠狠99网| 色播一区二区| 欧美一区二区视频在线观看2020| 欧美成年人视频在线观看| 日韩高清成人| 色狠狠一区二区| 最新日本在线观看| 久草综合在线| 日韩人在线观看| 日韩成人中文电影| theporn国产精品| 另类中文字幕国产精品| 色综合久久综合中文综合网| 欧洲黄色一级视频| 在线一区二区视频| 亚洲xxxxx| 国产又粗又长又黄| 久久99久久99小草精品免视看| 国产成人综合精品| 波多野结衣在线观看一区| 午夜一区二区三区不卡视频| 欧美在线观看日本一区| 毛片在线免费视频| 久久国产精品99国产| 欧美在线一级va免费观看| 国产黄网在线观看| 日韩高清欧美激情| 成人h猎奇视频网站| 国产美女永久免费| 高清不卡在线观看| 精品国产_亚洲人成在线| 亚洲 美腿 欧美 偷拍| 91影院在线观看| 日韩国产高清一区| 熟妇人妻一区二区三区四区 | 久久99成人| 8v天堂国产在线一区二区| 国产999免费视频| 一区二区三区产品免费精品久久75| 国内精品久久久久久久久| 国产一级做a爱免费视频| 亚洲精品美女91| 国产999精品视频| 中文字幕一区二区三区四区视频| 美女网站色91| 91视频最新| 神马精品久久| 国产精品五月天| 日本a级片在线观看| av在线中出| 欧美综合一区二区三区| 亚洲色图偷拍视频| 欧美交a欧美精品喷水| 在线视频亚洲欧美| 少妇久久久久久被弄高潮| 一区二区三区精品视频在线观看| 国产精品第七十二页| 精品人妻少妇AV无码专区| 99久久久国产精品| 黄瓜视频免费观看在线观看www | 国产成人精品电影久久久| 国产理论视频在线观看| 久久这里只有精品视频网| 天天干天天操天天干天天操| 日韩激情电影| 91精品国产一区二区三区蜜臀 | 一区二区三区中文字幕| 国产精品嫩草99a| 亚洲一区二区三区加勒比| av在线播放资源| 777xxx欧美| 美女被到爽高潮视频| 欧美亚韩一区| 国产精品视频中文字幕91| 日本高清视频在线| 亚洲三级小视频| www日韩视频| 亚洲日本va午夜在线电影| 亚洲最大在线视频| 成年人视频在线免费看| 精品综合免费视频观看| 免费亚洲精品视频| 国产偷倩在线播放| 欧美精品一卡二卡| 一卡二卡三卡四卡| 亚洲精品九九| 成人av免费看| 黄色国产网站在线播放| 91国产免费观看| 噜噜噜在线视频| 亚洲视频综合| 99re在线国产| 18加网站在线| 在线不卡免费av| 2017亚洲天堂| 欧美96一区二区免费视频| 欧美一区二区福利| 亚洲最大成人| 亚洲精品在线观看www| 日韩久久久久久久久| 高清日韩电视剧大全免费| 青青草原网站在线观看| 免费一级欧美在线大片| 久热99视频在线观看| 国产女主播福利| 自拍偷自拍亚洲精品播放| 日韩一级免费片| 91精品综合久久久久久久久久久 | 乱亲女秽乱长久久久| 亚洲综合五月天婷婷丁香| 欧美国产一区二区在线观看| caoporn超碰97| 日韩精品网站| 成人精品久久久| 中文字幕资源网在线观看| 怡红院在线播放| 欧美一二三四在线| 免费在线观看一级片| 高清国产午夜精品久久久久久| 国产精品一色哟哟| 青青操综合网| 国产精品久久久久91| 永久免费av在线| 欧美精品v国产精品v日韩精品| 免费成人深夜夜行网站| 国产91精品入口| 亚洲 高清 成人 动漫| 四虎884aa成人精品最新| 国产91在线播放九色快色| 国产精品毛片一区二区三区四区| 欧美日韩视频专区在线播放| 九九精品视频免费| 成人高清视频在线观看| 妞干网在线免费视频| 欧美大人香蕉在线| 99久久伊人精品影院| 国产精品蜜芽在线观看| 国产一区二区三区免费视频| 97超碰资源站| 亚洲国产成人精品视频| 欧洲美一区二区三区亚洲| 国产又黄又大久久| 成人黄色大片网站| 精品视频免费在线观看| 97人人香蕉| 国产精品专区免费| 久久精品福利视频| 熟妇高潮一区二区三区| 欧美日韩视频第一区| 精品视频一区二区在线观看| 久久久国产精华| www.久久com| 久久经典综合| 加勒比海盗1在线观看免费国语版| 另类图片第一页| 国产区亚洲区欧美区| av中文在线资源库| 久久精品国产成人| 日本人妖在线| 日韩亚洲国产中文字幕欧美| 久久中文字幕免费| 一区二区三区高清| 国精产品视频一二二区| 成人精品视频一区二区三区| 九色porny自拍| 麻豆成人在线| 成年女人18级毛片毛片免费| 日韩在线不卡| 欧洲国产精品| 激情av综合| 97在线中文字幕| 国外成人福利视频| 情事1991在线| 阿v视频在线| 欧美精品一二区| 日韩子在线观看| 亚洲人av在线影院| 亚洲 美腿 欧美 偷拍| 日韩免费电影一区| 国产精品怡红院| 欧日韩精品视频| 999视频在线| 精品久久久免费| 国产一级特黄视频| 亚洲精品中文在线观看| www.99re6| 中文字幕欧美日韩一区| 亚洲天堂久久新| 91在线视频免费观看| 999精品免费视频| 岛国一区二区三区| 免费看三级黄色片| 国产精品综合一区二区| 天堂av.com| 九一九一国产精品| 特级西西444www| 精品一区二区三区久久| 色综合五月婷婷| 国产一区二区三区香蕉| 色偷偷中文字幕| 国产精品一二三区在线| 国产男女无遮挡猛进猛出| 黑人精品欧美一区二区蜜桃| 99日在线视频| 精品伊人久久久久7777人| 中文字幕 日韩 欧美| 美女脱光内衣内裤视频久久网站| 免费国产成人av| 日本免费新一区视频 | 久久爱www久久做| 欧美伦理片在线观看| 日本成人在线电影网| 爱情岛论坛亚洲首页入口章节| 人妖欧美一区二区| www.超碰97.com| 激情综合网av| 亚洲少妇中文字幕| k8久久久一区二区三区| 中文字幕丰满乱子伦无码专区| 久久精品欧美日韩| 网站永久看片免费| 一区二区在线观看免费视频播放| 久草网在线观看| 亚洲国产精品一区二区久久| 国产成人无码精品| 色88888久久久久久影院按摩| 人妻中文字幕一区二区三区| 欧美理论片在线| 亚洲av无码一区二区乱子伦| 日韩精品中文字幕有码专区| 国产区视频在线播放| 久久综合伊人77777尤物| 国精产品一区一区三区mba下载| 欧美亚洲在线视频| 精品视频在线一区二区在线| 91九色精品视频| 精品国产乱子伦一区二区| 日韩欧美视频一区二区三区四区| 99久久婷婷这里只有精品| 日本a在线天堂| 久久一区亚洲| 国产吃瓜黑料一区二区| 久久免费视频色| 国产第一页浮力| 午夜精品福利视频网站| 中文av免费观看| 日韩午夜av一区| 国产免费a∨片在线观看不卡| 久久久精品电影| 国产高清不卡| 91超碰rencao97精品| 女人av一区| 菠萝蜜视频在线观看入口| 日日摸夜夜添夜夜添精品视频| 无套内谢丰满少妇中文字幕| 久久久久久久综合色一本| 免费在线视频一区二区| 欧洲av在线精品| 天堂在线资源网| 精品国产拍在线观看| 国产资源在线观看入口av| 91久久国产精品| 精品久久久中文字幕| 日韩网站在线免费观看| 精久久久久久久久久久| 亚洲国产av一区| 亚洲第一激情av| 国产又色又爽又黄又免费| 国产视频在线观看一区二区| 日皮视频在线观看| 国产精品尤物福利片在线观看| 欧美尿孔扩张虐视频| 青草全福视在线| 理论片日本一区| 69视频在线观看免费| 亚洲高清久久久| 国产黄色小视频在线观看| 色av吧综合网| 素人一区二区三区| 欧美日韩亚洲一区二区三区在线观看| 激情久久久久久| 黑人无套内谢中国美女| 中文字幕五月欧美| 中文字幕视频一区二区| 亚洲成人黄色网| 北条麻妃在线视频| 国产精品一区一区三区| 中文字幕欧美激情极品| 都市激情亚洲色图| 蜜桃av噜噜一区二区三区麻豆| 色综合影院在线| 亚洲电影有码| 日本一区免费在线观看| 久久精品123| 亚洲做受高潮无遮挡| 婷婷久久综合九色国产成人| 亚洲精品国产一区二| 欧美成人中文字幕| 精品中文在线| 国产一二三四五| 国产一区二区三区在线看麻豆| 美国精品一区二区| 欧美日韩三级一区| 幼a在线观看| 91精品视频专区| 永久亚洲成a人片777777| 亚洲欧美日韩精品一区| 中文字幕亚洲欧美在线不卡| 国产精品国产三级国产普通话对白 | 久久精品免费在线观看| 国产精品久久久久久久久久久久久久久久久 | 欧美综合在线观看| 妖精视频一区二区三区免费观看| 国产乱子伦农村叉叉叉| 久久综合一区二区| 久久国产乱子伦精品| 在线视频日韩精品| 95精品视频| 四虎4hu永久免费入口| 成人精品免费看| 久久久免费高清视频| 亚洲欧美日韩视频一区| 欧美日韩国产网站| 正在播放亚洲| 国产.欧美.日韩| 久久国产精品系列| 一本色道久久88精品综合| 亚洲ww精品| 性欧美大战久久久久久久| 26uuu久久综合| 最新国产中文字幕| 美日韩在线视频| 青青草原在线亚洲| 污片在线免费看| 亚洲在线视频一区| 男女av在线| 成人有码在线播放| 亚洲国产日本| 国产调教在线观看| 日韩一区二区三区在线| av综合电影网站| 性生活免费观看视频| 91蝌蚪porny九色| 97人妻精品一区二区三区软件| 国内久久久精品| 日韩久久久久| 蜜臀aⅴ国产精品久久久国产老师| 黑人巨大精品欧美一区二区| 免费在线午夜视频| 国产综合第一页| 久久国产精品第一页| 日韩一级性生活片| 国产毛片精品久久| 成人在线观看www| 久久网站最新地址| 99精品视频在线播放免费| 欧美亚洲国产成人精品| 亚洲女同另类| 欧美人妻一区二区三区 | 乱色精品无码一区二区国产盗|