青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

積木

No sub title

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  140 Posts :: 1 Stories :: 11 Comments :: 0 Trackbacks

常用鏈接

留言簿(1)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

#

轉載:http://blog.csdn.net/bill_man/article/details/7250922

切換高清

隨著硬件技術的提高,提供了更好的畫面,我們可以通過如下的方法來切換高清

CCDirector::sharedDirector()->enableRetinaDisplay(true);

參數是true,就是開啟高清,為false就是關閉高清,當然目前應該是iphone4itouch4及以上支持這種“視網膜”顯示。當你開啟這個時,你的游戲圖片會自動變為“原圖片名(除后綴名+"-hd."+后綴名),如果文件不存在會繼續使用原圖。

posted @ 2013-03-05 13:50 Jacc.Kim 閱讀(567) | 評論 (0)編輯 收藏

轉載自:http://developer.51cto.com/art/201002/182799.htm

 

C++左值與右值之間共同與不同點解析

2010-02-03 17:32 佚名 博客園 我要評論(1) 字號:T | T
一鍵收藏,隨時查看,分享好友!

C++左值與右值都有哪些不同之處,又有哪些聯系呢?我們將會通過對這篇文章的介紹,為大家詳細講解有關內容,幫助大家理解。

AD: 2013大數據全球技術峰會低價搶票中

C++編程語言與C語言相比有很多不同之處,而且這些不同的地方有都體現著非常重要的作用。現在我們將會為大家詳細介紹一下有關C++左值與右值之間的一些聯系,希望能幫助大家對這一語言有一個深刻的認識。

 

1. C++左值與右值概念

變量和文字常量都有存儲區,并且有相關的類型,區別在于變量是可尋址的;

對于每個變量,都有2個值與其相關聯:

1>數據值,存儲在某個內存地址中,也稱右值(rvalue),右值是被讀取的值(read value),文字常量和變量都可被用于右值。

2>地址值,即存儲數據值的那塊內存地址,也稱左值(lvalue),文字常量不能被用作左值。

2 . C++左值與右值的相關問題

給表達式加上括號: ++a--

結果 ++(a--)

這個表達式是非法的,因為前增量操作要求一個可修改的左值,而 "a--" 不是左值(即右值)

3 . C++左值與右值中前增量和后增量的區別

早期的c語言教材,for循環語句通常寫成:

for(int i=0;i<10;i++)

而現在多為:

for(int i=0;i<10;++i)

兩者有區別嗎?

a++ 即是返回 a的值,然后變量 a 加 1,返回需要產生一個臨時變量類似于

  1. {
  2. int temp = a;
  3. aa=a+1;
  4. return temp; //返回右值
  5. }

 

++a 則為:

  1. {
  2. aa=a+1;
  3. return &a; //返回左值
  4. }

 

顯然,前增量不需要中間變量,效率更高。

C++左值與右值的含義與誤區

術語 “L-Values” 和 “R-Values” 是很容易被搞混的,因為它們的歷史淵源也是混淆。他們最初起源是編譯器的設計者,從字面上來理解就是表達式左邊的值和表達式右邊的值。它們的含義一直在演化而名字卻沒變,現在已經“名”不副“實”了。雖然還是稱為left-value 和right-value,但是他們的含義已經大大不同了。

C++ 03 標準上是這樣寫的: “每一個表達式要么是一個 lvalue,要么就是一個 rvalue。”

記住,lvalue和rvalue是針對表達式而言的。

lvalue 是指那些單一表達式結束之后依然存在的持久對象。例如: obj,*ptr, prt[index], ++x 都是 lvalue。

rvalue 是指那些表達式結束時(在分號處)就不復存在了的臨時對象。例如:1729 , x + y , std::string("meow") , 和 x++ 都是 rvalue。

++x 和 x++ 的區別的語義上的區別: 當寫 int i = 10 ; 時, i 是一個 lvalue,它實際代表一個內存里的地址,是持久的。 表達式 ++x 也是一個 lvalue,它修改了 x 的值,但還是代表原來那個持久對象。但是,表達式 i++ 卻是一個 rvalue,它只是拷貝一份i的初值,再修改i的值,最后返回那份臨時的拷貝,那份拷貝是臨時對象。 ++i 和 i++ 都遞增i,但 ++i 返回i本身,而 i++ 返回臨時拷貝。這就是為什么 ++i 之所以是一個 lvalue,而 i++ 是一個 rvalue。

lvalue 與 rvalue 之分不在于表達式做了什么,而在于表達式代表了什么(持久對象或臨時產物)。 判斷一個表達式是不是 lvalue 的直接方法就是“能不能對表達式取址?”,如果能夠,那就是一個 lvalue;如果不能,那就是一個 rvalue。

以上就是我們為大家介紹的有關C++左值與右值的相關介紹。

【責任編輯:曹凱 TEL:(010)68476606】
posted @ 2013-03-04 23:12 Jacc.Kim 閱讀(328) | 評論 (0)編輯 收藏

首先,先溫故一下c/c++調用lua的步驟:
1) 下載lua源碼包(提示:下載后,需要自行編譯,編譯后才會有相應的lib)
2) 將編譯好的lib鏈入項目
3) 包含相應的lua頭文件,如下:
#ifdef __cplusplus
extern "C" {
#endif
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
#ifdef __cplusplus
}
#endif
此處頭跟尾處的__cplusplus宏判斷是有必要的。
4) 創建一個lua解析器:lua_State *L; L = lua_open();
5) 調用lua庫接口:luaL_openlibs(L);打開lua庫
6) 至此,就可以使用lua相關的功能了。如:加載lua腳本(luaL_dofileL, luaFileName);等等
7) 在使用完lua后,一定要關掉lua解析器。luaL_close(L);

接下來要介紹的是相反的調用工作。即:通過lua調用c/c++相關的功能。在此就需要用到tolua++了。
在此同樣先介紹一下實現步驟:
1) 同樣需要先下載tolua++庫
2) 將相關的tolua++庫鏈入項目
3) 將需要導給lua腳本使用的c/c++常量、變量、宏、接口、甚至類以及其接口,整理到相應的干凈包中。
4) 使用tolua++工具(即:.exe文件),解析干凈包。解析成功后,將自動生成相應的c/c++的頭文件及源碼
5) 包含同 4) 生成的頭文件,同時包含tolua++要關的頭文件
6) 明確初始化包。具體為:tolua_XXXX_open(L);
7) 此后就可以在lua腳本中使用c/c++相關的功能了。
至此c/c++與lua間的相互調用就全部介紹完畢。

另外,以個人實際游戲框架設計的經驗來看,其實,我們可以定義一個協議接口,將項目與lua的接口連接起來。這樣,我們在c/c++與lua間的調用就可以通過通用的一個或很少的幾個接口來工作。如此整個框架就搭建起來了。
posted @ 2013-02-22 09:56 Jacc.Kim 閱讀(968) | 評論 (0)編輯 收藏

今日編譯鏈接一個exe時,提示如下錯誤:
vs2008 Project : error PRJ0019: A tool returned an error code: "Performing Post-Build Event..."

經過網上查詢,可使用如下方法解決:

打開properties屬性頁,找到Build Events選項,選擇Post-build event選項,

它的command line選項置成空

/////////

工程中command line

內容為

mkdir ..\..\..\..\發布組件\服務器組件\Release

copy /y ..\..\..\..\運行\Release\$(TargetFileName) ..\..\..\..\發布組件\服務器組件\Release\$(TargetFileName)



作用 是生成完了拷貝文件用的。
posted @ 2013-01-31 11:54 Jacc.Kim 閱讀(1285) | 評論 (0)編輯 收藏

此篇文章打算介紹兩個,在平時工作中,使用頻繁并且十分有價值的功能。(因為你的項目不用到還好,只要用到,下面這兩個一般是必不可少)
功能點1:將本地時間轉成格林威治時間,或者是將格林威治時間轉成本地時間。
功能點2:將時間轉成時間戳,以及如何將時間戳轉成時間。
有些人可看剛看到上面的功能點概述,可能會覺得這沒什么難的。也的確,事實上,確實不難。但如果你要是沒真正處理過的話,可能一時還真會壁。比如:功能點1,將本地時間轉成格林威治時間。因為我們根本不知道我們當前的本地時間與標準時間的時差到底是多少。所以你要怎么轉??(我們不能單純地認為,我們是中國人,所以時差都是8個小時。那如果你的游戲要是發布到世界其他國家了??那時差就完全不同。甚至就算是中國,你在上海,跟在西藏,那時間也是有差別的。因此,我們需要根據本地時刻值,精確地計算出與標準時間的時差。從而才可以準確轉換成格林威治時間??聪旅嫣幚矸椒ǎ?br />a) 將格林威治時間轉成標準時間
 ptime CommonHelper::utcToLocal(ptime utctime)
 {
  return boost::date_time::c_local_adjustor<ptime>::utc_to_local(utctime);
  //說明:c_local_adjustor對象的utc_to_local()接口就是用來處理本地時間跟標準時間的偏差的。
  //此處所謂的本地時間,并不是固定指說北京時間。而是你的計算處在地球的哪條經線上,該經線
  //跟格林威治所處的經線的時差量。(我剛看到這個功能時,實在太讓我驚訝了都?。?br />
  //但是有一點需要注意:boost中,只提供了標準時間轉本地時間的上述接口,卻沒有
  //直接提供將本地時間轉成標準時間的接口。不過,既然有了utc_to_loca()這樣的神兵利器
  //我們同樣可以很方便地處理將本地時間轉成標準時間的問題。見如何:
 }

b) 將本地時間轉成格林威治時間
ptime CommonHelper::localToUtc(ptime ltime)
 {
  return ltime - (utcToLocal(epoch) - epoch);
  //說明:(utcToLocal(epoch) - epoch)這部分內容您的計算機的當地時差量(如果是在北京,那就是8小時)
 }

接下來介紹一下第二部分的功能點。即:功能點2:將時間轉時間戳以及將時間戳轉時間
c) 將boost中的時間轉成時間戳,其實很簡單。中需要做如下處理即可。(在此就不多說)
 WE::int64 CommonHelper::getUTCTimestamp()
 {  
  return (microsec_clock::universal_time() - epoch).total_milliseconds();
 }

d) 此處重點介紹一下,如何將時間戳轉成時間。這個確實有點令人頭痛。為什么這么說?因為時間戳,其實只是一個
數量值。這個數量值記載的信息的意義是指:自:1970-1-1到指定時刻所走過的時間量值。如此,或許有人就會說,
既然你都說了,是從1970到指定時刻的量值,兩個時間相加不就好了。確實是這樣子的,但有個小問題是:因為我們
沒法清楚這個量值的單位是什么。如果單位是:毫秒,而你把它當成秒或當成微秒來處理,結果都將是錯的。關于這點,
其實boost有個時間處理的決策“的開關”,這個似乎還要看自己編譯的boost的lib是使用到哪個精度的級別。關于這塊
本人暫時還沒深入到這方面,所以也不敢妄言。不過,有個接口,大家可以參考著使用下。time_duration::resolution()
這個就可以用來識別,當前系統中boost在時間這方面使用到的精度值。(例如本人目前項目中,使用到的是微秒級別的。
所以返回值為:micro。)
下面給他幾種實現時間戳轉時間的小例子:(以下假定,時間戳的單位為毫秒)
e) 通過接口:from_time_t();
ptime time_5 = from_time_t(timestamp);
f) 通過time_duration
milliseconds xx(time_1_stamp);
ptime xxxxxxxxxxxx = CommonHelper::epoch + xx;
g) 直接通過手動計算。此方法實現思路很簡單,但操作起來個人感覺易錯。寫的代碼量又多,所以本人還是建議使用上面兩種,特別是第2種
假如:timestamp是時間戳。則先計算出它的小時,再計算出它的分鐘,計算出它的秒數,最后計算出它的毫秒數。然后與commonhelper::epoch相加即可。
注意:上面的e) f) g) 其實還是有區別的。用e)跟f)轉出來的精度值方面會不中方法g)。但在項目使用中,前兩者計算出來的精度值,一般
情況下,是絕對可夠的。這是一個注意點,給大家提醒一下。

好了,這篇文章暫時就先寫到這吧。。其實關于boost時間,還有非常多的內容可以挖掘,改天有機會再寫吧。希望對大伙有幫助。
如果有錯誤之處,還請指教。:)
posted @ 2013-01-02 16:27 Jacc.Kim 閱讀(3024) | 評論 (0)編輯 收藏

正常情況下,Lua對函數的調用與c/c++是一樣的。
即:調用函數時,必須加上括號。如:

聲明:
function testFunc(x, y)
   // do something...
end;

調用:
testFunc(3, 4);

但是有一個特殊是:如果函數的參數只有一個。并且這個參數是字符串或者是表結構時,括號可以不寫。如下:
print "Hello world!";         它等價于: print("Hello world!");
dofile "a.lua";                  它等價于: dofile("a.lua");
yourfunction {x = 10, y = 20};   它等價于: yourfunction({x = 10, y = 20});
type {}                           它等價于: type({});
posted @ 2012-12-08 14:42 Jacc.Kim 閱讀(234) | 評論 (0)編輯 收藏

 1 
 2 -- 學習一下表結構的語法
 3 function studyTableStruct()
 4 
 5     local testTable = {};   --初始化一個空的(即:該表中沒有任何域)
 6     testTable[2= "是吧";
 7     print(testTable[2]);    --此處正常輸出。說明就算是添加新字段,字段的索引也未必就一定要按順序從1開始。
 8     testTable[1= "ak47";  --添加一個無名字的新字段,而且它的索引值是為1的。([a]記住:只要字段有索引的概念,則它就沒有名字) 。這邊的 [a]與下面的 [b] 說明很關鍵
 9     print(testTable[1]);
10     testTable.newField = "newfield";--添加一個名字為newField的新字段。([b]記?。褐灰侄斡忻?,則它就沒有索引這一概念。)
11     print(testTable.newField);
12     testTable["x"= "哇塞,這也行?";
13     print(testTable["x"]);
14     
15     -- 如果理解了上面的 [a] 與 [b] ,則很容易理解下面的例子
16     local a = {x = 20, y = 0};--這個例子是來自教材上的例子。但是在此本人有做了修改。并親自測試過后,總結了上面的 [a] 與 [b] 點
17     print(a.x);         --輸出:20
18     print(a[1]);        --輸出:nil
19     print(a["x"]);      --輸出:20
20     --如果將a的結構改成如下:
21     a = nil;
22     a = {x = 20"agogo", y = 0"ak47""mytest"};
23     print(a.x);         --輸出:20
24     print(a[1]);        --輸出:agogo
25     print(a[2]);        --輸出:ak47
26     print(a[3]);        --輸出:mytest
27     print(a["x"]);      --輸出:20
28     --pritn(a[x]);        --這樣會蹦。要么像 a[1]那樣訪問。即:中括號呈的內容必須為數字或者使用雙引號括號起來
29     --[[
30     總結一下上面的測試例子:
31     1) 大括號:{} 是用來定義一個表結構的。所謂的定義,其實只不過是給表一個初始化的作用。其實里面的字段域有幾個或怎么初始化,都只是影響到初始化時的狀態。
32         后面不要時,完全可以隨時將某個字段刪除掉(提示:刪除只需要將該字段賦nil即可。)
33         也完全可以隨時隨地添加一個新的字段。
34         正因為如此靈活,所以說 {} 僅僅只是影響表的初始化的結構狀態。
35     2) 表的字段域的訪問有兩種:YourTable.FieldName以及使用中括號 [] 來訪問。
36         a) 如果所訪問的字段不存在。則返回nil
37         b) 使用YourTable.FieldName訪問字段時,則如果表中不存在FieldName這個字段時,返回nil。存在時,返回相應的值。像上面的a表中的x與y就可以用這種方式訪問。
38             或者上面的testTable表中的newField或者 x字段就可以這樣子訪問
39         c) 使用中括號 [] 訪問時,如果表中的字段是有名稱的話,則字段必須使用雙引號括號起來。否則訪問不到。并且還會蹦。
40         d) [] 中的內容,只能是數值索引,或者是使用雙引號括號起來的字段的名稱。
41     ]]--
42     
43 end
44 
45 
posted @ 2012-12-08 14:18 Jacc.Kim 閱讀(365) | 評論 (0)編輯 收藏

簡述:在 Delphi 中,有 and 與 or
在 c/c++ 中,有 && 與 ||
在 Lua 中,有 and 與 or
它們3者都表示邏輯運算符。但它們是有區別的。
Delphi中的 and 與 or 不但可以表示邏輯與、邏輯或運算符,還可以表示與運算以及或運算。
示例:
procedure test;
var
   lVar: integer;
   lVar2: integer;
   lVar3: integer;
begin
   lVar = 20;
   lVar2 = 30;
   if (10 = lVar) and (20 = lVar2) then
   begin
      // do something here.
   end
   else if (20 = lVar) or (30 = lVar2) then
   begin
      // do something here.
   end;
   lVar3 = lVar and lVar2;//這個就是相當于c/c++中的 &
   lVar3 = lVar or lVar2;//這個就相當于c/c++中的 |
end;

關于 c/c++ 中的 &&、||、&、| 在此,我想就不用多說了吧。
接下來說說,Lua中的 and 與 or
在 Lua 中,and 也是邏輯運算符,但它的取值很特別:
a and b;它的返回值并不是我們所想象的 true 或者 false.而是:如果 a 為假(即:為 false 或者 nil 時),則表達式返回 a。否則就返回 b
同樣 a or b;它返回的也不是true與false。而是:當 a 為真時,則返回 a 否則返回 b.
posted @ 2012-12-08 13:29 Jacc.Kim 閱讀(965) | 評論 (0)編輯 收藏

1) Lua字符串可以使用雙引號括起來。
2) Lua字符串同樣可以使用單引號括起來。
3) Lua字符串還可以使用 [[...]] 括起來。(提示:中間的 ... 就是字符串的內容。
關于這種形式來表達字符串的,有以下說明點:
      a) [[ 這是字符串起始標志。(就如同:" 一樣)]] 當然就是結束標志了。
      b) ... 的內容中,就算有轉義字符,則轉義字符的轉義功能失效。它會被按原樣輸出。
      c) ... 中的任何空格都將被保留,按原樣輸出。(包括行頭的空格)
因此:
      local str = [[這只是一個測試。\r\n是不是北京??
            吃東西吧。(注意:吃東西吧。前面是有空格的)
            ]];
      print(str);
在屏幕上打印出來的結果應該如下:
這只是一個測試。\r\n是不是北京??
            吃東西吧。(注意:吃東西吧。前面是有空格的)

4) .. 可以用來連接兩個字符串。同樣也可以用來連接兩個數值或者數值與字符串,使它們最終成為一個字符串。
注意:如果連接的前后有數值時,最好在 .. 的前與后都加一個空格。
示例:
      a) local str1 = "Hello, " .. "world!"; // 這時的..的前后可以加或不加空格都正確
      b) local str2 = "Hello, " .. 20;//這時,..的后面最好加上空格
      c) local str3 = 20 .. "world!";//這時,..的前面必須要加上空格。否則會出錯
      d) local str3 = 20 .. 30;//這時,..的前面與后面都必須加上空格。否則會出錯。

5) string.gsub()是用來替換某字符串中的子串的。示例如下:
      local strOld = "Hello, world!";
      local strNew = string.gsub(strOld, "Hello,", "Hello ");
      print(strOld);      // 輸出: Hello, world!
      print(strNew);      //輸出: Hello world!
posted @ 2012-12-08 13:12 Jacc.Kim 閱讀(543) | 評論 (0)編輯 收藏

 

 1 
 2 #include "stdafx.h"
 3 
 4 #include <iostream>
 5 using namespace std;
 6 
 7 extern "C"{
 8 #include "lua.h"
 9 #include "lualib.h"
10 #include "lauxlib.h"
11 }
12 
13 lua_State *L;
14 
15 int _tmain(int argc, _TCHAR* argv[])
16 {
17     //* 創建一個指向Lua解釋器的指針。
18     L = lua_open();
19     //* 函數加載Lua庫
20     luaL_openlibs(L);
21     //* 加載Lua腳本
22     luaL_dofile(L, "../TestException/add.lua");
23 
24         int x = 3, y = 8;
25         //函數名
26         lua_getglobal(L, "add");
27         //第一個參數壓棧
28         lua_pushnumber(L, x);
29         //第二個參數壓棧
30         lua_pushnumber(L, y);
31         //調用函數
32         lua_call(L, 21);
33         //得到返回值
34         int sum = (int)lua_tonumber(L, -1);
35         lua_pop(L, 1);
36         cout << sum << endl;
37 
38     //* 關閉釋放資源
39     lua_close(L);
40 
41     waitplease;
42     return 0;
43 }
44 
45 

 

posted @ 2012-12-08 12:49 Jacc.Kim 閱讀(407) | 評論 (0)編輯 收藏

僅列出標題
共14頁: First 2 3 4 5 6 7 8 9 10 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品国产精品国产自| 欧美一区日韩一区| 欧美日韩国产精品专区| 久久久久中文| 欧美一区国产二区| 欧美亚洲免费| 美女精品在线观看| 欧美va亚洲va日韩∨a综合色| 亚洲国产精品成人精品| 亚洲欧美综合国产精品一区| 亚洲综合色婷婷| 亚洲欧美一区二区三区久久| 亚洲一区二区欧美| 亚洲一区二区三区视频| 欧美专区一区二区三区| 久久免费精品视频| 欧美大片在线观看| 一本久道综合久久精品| 亚洲一区二区三区在线看| 久久99伊人| 欧美人交a欧美精品| 欧美福利在线观看| 国产精品高潮在线| 精品成人久久| 国产精品99久久久久久久久| 久久精品99国产精品| 蘑菇福利视频一区播放| 亚洲精品国产精品乱码不99| 亚洲综合成人在线| 欧美粗暴jizz性欧美20| 国产精品福利在线| 91久久线看在观草草青青| 午夜电影亚洲| 亚洲福利一区| 欧美在线播放| 欧美日韩国产在线播放| 韩日欧美一区| 亚洲视频精选在线| 美女国产一区| 一区二区三区高清在线观看| 久久久久久久激情视频| 国产精品va在线播放| 亚洲国产日日夜夜| 久久久久看片| 亚洲一区制服诱惑| 欧美三级乱人伦电影| 亚洲韩国青草视频| 老司机精品福利视频| 亚洲天堂av图片| 亚洲欧美日韩人成在线播放| 欧美18av| 久久九九国产精品| 国产欧美精品在线播放| 亚洲网站啪啪| 久久激情网站| 欧美日韩一区二区三区在线视频| 久久久久久97三级| 日韩视频在线观看| 欧美电影免费网站| 欧美一区久久| 国产日韩欧美日韩大片| 亚洲视频你懂的| 欧美国产精品劲爆| 亚洲国产精品久久久久婷婷老年| 久久av一区二区三区漫画| 日韩午夜电影av| 久久天天躁狠狠躁夜夜av| 国产综合视频| 久久久天天操| 久久久国产精品一区二区中文| 久久理论片午夜琪琪电影网| 欧美亚洲第一区| 亚洲在线视频一区| 亚洲一区二区三区四区中文 | 欧美精品18| 极品尤物一区二区三区| 久久人人爽人人爽爽久久| 欧美一级专区| 国语自产精品视频在线看一大j8 | 欧美国产专区| 久久久久久午夜| 亚洲国产网站| 91久久精品www人人做人人爽| 久久久久一区二区三区四区| 午夜日韩在线观看| 好吊妞**欧美| 亚洲日本成人| 国产精品国产精品| 欧美主播一区二区三区| 久久久久久久久久码影片| 亚洲国产va精品久久久不卡综合| 亚洲二区在线| 亚洲欧洲一区二区天堂久久| 午夜欧美不卡精品aaaaa| 午夜精品一区二区在线观看| 国内精品久久久久伊人av| 亚洲第一页在线| 国产精品久久9| 老司机免费视频久久| 欧美成人精品在线观看| 亚洲欧美清纯在线制服| 欧美在线free| 亚洲天堂网站在线观看视频| 久久精品综合一区| 亚洲一区二区三区乱码aⅴ| 久久国产黑丝| 欧美福利电影网| 欧美福利一区二区| 久久精品在线免费观看| 欧美另类专区| 欧美高清影院| 国内精品视频久久| 一区二区三区精品视频| 亚洲精品美女| 久久久久久91香蕉国产| 香蕉尹人综合在线观看| 欧美美女操人视频| 欧美激情在线| 在线日韩电影| 久久精品国产视频| 久久九九免费视频| 国产精品亚洲аv天堂网| 亚洲精品资源| 亚洲免费av网站| 久久久久国产一区二区| 亚欧成人精品| 欧美日韩四区| 最新国产拍偷乱拍精品| 国外成人免费视频| 在线亚洲免费| 一区二区三区四区蜜桃| 久久精品视频一| 欧美一区二区精品在线| 欧美了一区在线观看| 欧美另类变人与禽xxxxx| 亚洲国产日韩一级| 欧美日韩在线直播| 欧美一区二区高清在线观看| 国产精品露脸自拍| 欧美激情aⅴ一区二区三区| 欧美日韩一卡二卡| 麻豆成人在线观看| 亚洲国产一区二区三区高清| 亚洲素人在线| 99国内精品| 久久久九九九九| 亚洲人成人77777线观看| 韩日午夜在线资源一区二区| 一个人看的www久久| 欧美国产日韩在线| 亚洲久色影视| 亚洲国产人成综合网站| 久久久福利视频| 久久久91精品国产一区二区三区 | 久久www免费人成看片高清| 久久国产欧美| 亚洲影院在线观看| 午夜视频一区在线观看| 一区在线影院| 亚洲欧美美女| 亚洲伊人久久综合| 欧美精品在线视频| 亚洲一区国产视频| 亚洲影院在线观看| 欧美日韩国产123区| 亚洲激情av| 国产精品美腿一区在线看| 欧美福利小视频| 日韩视频不卡| 欧美日韩国产三级| 国产精品久久综合| 欧美日韩亚洲一区| 男女激情久久| 欧美激情在线| 影音先锋在线一区| 小黄鸭精品密入口导航| 亚洲一区黄色| 久久精品视频在线看| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美午夜电影在线| 欧美chengren| 一区二区三区在线不卡| 欧美一区观看| 每日更新成人在线视频| 亚洲你懂的在线视频| 欧美天堂亚洲电影院在线观看| 99这里只有久久精品视频| 久久免费午夜影院| 久久午夜精品| 亚洲嫩草精品久久| 国产一区二区久久久| 久久精品视频播放| 欧美黄色片免费观看| 国产精品爱久久久久久久| 免费在线观看日韩欧美| 99在线|亚洲一区二区| 香蕉久久a毛片| 尤物yw午夜国产精品视频明星| 一区二区三区鲁丝不卡| 欧美一区二区精品|