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

chaosuper85

C++博客 首頁 新隨筆 聯系 聚合 管理
  118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

#

本文介紹了vi (vim)的基本使用方法,但對于普通用戶來說基本上夠了!

vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色于任何最新的文本編輯器,這里只是簡單地介紹一下它的用法和一小部分指令。由于對Unix及Linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進一步了解它。Vi也是Linux中最基本的文本編輯器,學會它后,您將在Linux的世界里暢行無阻。

1、vi的基本概念
  基本上vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:

1) 命令行模式command mode)

  控制屏幕光標的移動,字符、字或行的刪除,移動復制某區段及進入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

  只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。

3) 底行模式(last line mode)

  將文件保存或退出vi,也可以設置編輯環境,如尋找字符串、列出行號……等。

不過一般我們在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。

2、vi的基本操作
a) 進入vi

  在系統提示符號輸入vi及文件名稱后,就進入vi全屏幕編輯畫面:

   $ vi myfile


  不過有一點要特別注意,就是您進入vi之后,是處于「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動光標,結果電腦一直嗶嗶叫,把自己氣個半死,所以進入vi后,先不要亂動,轉換到「插入模式(Insert mode)」再說吧!

b) 切換至插入模式(Insert mode)編輯文件

  在「命令行模式(command mode)」下按一下字母「i」就可以進入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。

c) Insert 的切換

  您目前處于「插入模式(Insert mode)」,您就只能一直輸入文字,如果您發現輸錯了字!想用光標鍵往回移動,將該字刪除,就要先按一下「ESC」鍵轉到「命令行模式(command mode)」再刪除文字。

d) 退出vi及保存文件

  在「命令行模式(command mode)」下,按一下「:」冒號鍵進入「Last line mode」,例如:

: w filename (輸入 「w filename」將文章以指定的文件名filename保存)

: wq (輸入「wq」,存盤并退出vi)

: q! (輸入q!, 不存盤強制退出vi)


3、命令行模式(command mode)功能鍵
1). 插入模式

  按「i」切換進入插入模式「insert mode」,按“i”進入插入模式后是從光標當前位置開始輸入文件;

  按「a」進入插入模式后,是從目前光標所在位置的下一個位置開始輸入文字;

  按「o」進入插入模式后,是插入新的一行,從行首開始輸入文字。

2). 從插入模式切換為命令行模式

  按「ESC」鍵。

3). 移動光標

  vi可以直接用鍵盤上的光標來上下左右移動,但正規的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標左、下、上、右移一格。

  按「ctrl」+「b」:屏幕往“后”移動一頁。

  按「ctrl」+「f」:屏幕往“前”移動一頁。

  按「ctrl」+「u」:屏幕往“后”移動半頁。

  按「ctrl」+「d」:屏幕往“前”移動半頁。

  按數字「0」:移到文章的開頭。

  按「G」:移動到文章的最后。

  按「$」:移動到光標所在行的“行尾”。

  按「^」:移動到光標所在行的“行首”

  按「w」:光標跳到下個字的開頭

  按「e」:光標跳到下個字的字尾

  按「b」:光標回到上個字的開頭

  按「#l」:光標移到該行的第#個位置,如:5l,56l。

4). 刪除文字

  「x」:每按一次,刪除光標所在位置的“后面”一個字符。

  「#x」:例如,「6x」表示刪除光標所在位置的“后面”6個字符。

  「X」:大寫的X,每按一次,刪除光標所在位置的“前面”一個字符。

  「#X」:例如,「20X」表示刪除光標所在位置的“前面”20個字符。

  「dd」:刪除光標所在行。

  「#dd」:從光標所在行開始刪除#行

5). 復制

  「yw」:將光標所在之處到字尾的字符復制到緩沖區中。

  「#yw」:復制#個字到緩沖區

  「yy」:復制光標所在行到緩沖區。

  「#yy」:例如,「6yy」表示拷貝從光標所在的該行“往下數”6行文字。

  「p」:將緩沖區內的字符貼到光標所在位置。注意:所有與“y”有關的復制命令都必須與“p”配合才能完成復制與粘貼功能。

6). 替換

  「r」:替換光標所在處的字符。

  「R」:替換光標所到之處的字符,直到按下「ESC」鍵為止。

7). 回復上一次操作

  「u」:如果您誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次“u”可以執行多次回復。

8). 更改

  「cw」:更改光標所在處的字到字尾處

  「c#w」:例如,「c3w」表示更改3個字

9). 跳至指定的行

  「ctrl」+「g」列出光標所在行的行號。

  「#G」:例如,「15G」,表示移動光標至文章的第15行行首。

4、Last line mode下命令簡介
  在使用「last line mode」之前,請記住先按「ESC」鍵確定您已經處于「command mode」下后,再按「:」冒號即可進入「last line mode」。

A) 列出行號

 「set nu」:輸入「set nu」后,會在文件中的每一行前面列出行號。

B) 跳到文件中的某一行

 「#」:「#」號表示一個數字,在冒號后輸入一個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。

C) 查找字符

 「/關鍵字」:先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往后尋找到您要的關鍵字為止。

 「?關鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關鍵字為止。

D) 保存文件

 「w」:在冒號輸入字母「w」就可以將文件保存起來。

E) 離開vi

 「q」:按「q」就是退出,如果無法離開vi,可以在「q」后跟一個「!」強制離開vi。

 「qw」:一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以保存文件。

5、vi命令列表
1、下表列出命令模式下的一些鍵的功能:

h
左移光標一個字符

l
右移光標一個字符

k
光標上移一行

j
光標下移一行

^
光標移動至行首

0
數字“0”,光標移至文章的開頭

G
光標移至文章的最后

$
光標移動至行尾

Ctrl+f
向前翻屏

Ctrl+b
向后翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向后翻半屏

i
在光標位置前插入字符

a
在光標所在位置的后一個字符開始增加

o
插入新的一行,從行首開始輸入

ESC
從輸入狀態退至命令狀態

x
刪除光標后面的字符

#x
刪除光標后的#個字符

X
(大寫X),刪除光標前面的字符

#X
刪除光標前面的#個字符

dd
刪除光標所在的行

#dd
刪除從光標所在行數的#行

yw
復制光標所在位置的一個字

#yw
復制光標所在位置的#個字

yy
復制光標所在位置的一行

#yy
復制從光標所在行數的#行

p
粘貼

u
取消操作

cw
更改光標所在位置的一個字

#cw
更改光標所在位置的#個字


2、下表列出行命令模式下的一些指令
w filename
儲存正在編輯的文件為filename

wq filename
儲存正在編輯的文件為filename,并退出vi

q!
放棄所有修改,退出vi

set nu
顯示行號

/或?
查找,在/后輸入要查找的內容

n
與/或?一起使用,如果查找的內容不是想要找的關鍵字,按n或向后(與/聯用)或向前(與?聯用)繼續查找,直到找到為止。

posted @ 2009-08-03 14:16 chaosuper 閱讀(108) | 評論 (0)編輯 收藏

 

1. 以下三條輸出語句分別輸出什么?
char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha << ( str1==str2 ) << endl; //
輸出什么?
cout << boolalpha << ( str3==str4 ) << endl; //
輸出什么?
cout << boolalpha << ( str5==str6 ) << endl; //
輸出什么?

答:分別輸出false,false,truestr1str2都是字符數組,每個都有其自己的存儲區,它們的值則是各存儲區首地址,不等;str3str4同上,只是按const語義,它們所指向的數據區不能修改。str5str6并非數組而是字符指針,并不分配存儲區,其后的“abc”以常量形式存于靜態數據區,而它們自己僅是指向該區首地址的指針,相等。

2. 以下代碼中的兩個sizeof用法有問題嗎?
void UpperCase( char str[] ) //
str 中的小寫字母轉換成大寫字母
{
for( size_t i=0; i<sizeof(str)/sizeof(str[0]); ++i )
if( 'a'<=str[i] && str[i]<='z' )
str[i] -= ('a'-'A' );
}
char str[] = "aBcDe";
cout << "str
字符長度為: " << sizeof(str)/sizeof(str[0]) << endl;
UpperCase( str );
cout << str << endl;

答:函數內的sizeof有問題。根據語法,sizeof如用于數組,只能測出靜態數組的大小,無法檢測動態分配的或外部數組大小。函數外的str是一個靜態定義的數組,因此其大小為6,函數內的str實際只是一個指向字符串的指針,沒有任何額外的與數組相關的信息,因此sizeof作用于上只將其當指針看,一個指針為4個字節,因此返回4

3. C++內建型別 A B,在哪幾種情況下B能隱式轉化為A
答:
a. class B : public A { ……} // B
公有繼承自A,可以是間接繼承的
b. class B { operator A( ); } // B
實現了隱式轉化為A的轉化
c. class A { A( const B& ); } // A
實現了non-explicit的參數為B(可以有其他帶默認值的參數)構造函數
d. A& operator= ( const A& ); //
賦值操作,雖不是正宗的隱式類型轉換,但也可以勉強算一個

4. 以下代碼有什么問題?
struct Test
{
Test( int ) {}
Test() {}
void fun() {}
};
void main( void )
{
Test a(1);
a.fun();
Test b();
b.fun();
}

答:變量b定義出錯。按默認構造函數定義對象,不需要加括號。

5. 以下代碼有什么問題?
cout << (true?1:"1") << endl;
答:三元表達式:”問號后面的兩個操作數必須為同一類型。

6. 以下代碼能夠編譯通過嗎,為什么?
unsigned int const size1 = 2;
char str1[ size1 ];
unsigned int temp = 0;
cin >> temp;
unsigned int const size2 = temp;
char str2[ size2 ];
答:str2定義出錯,size2非編譯器期間常量,而數組定義要求長度必須為編譯期常量。

7. 以下反向遍歷array數組的方法有什么錯誤?
vector array;
array.push_back( 1 );
array.push_back( 2 );
array.push_back( 3 );
for( vector::size_type i=array.size()-1; i>=0; --i ) //
反向遍歷array數組
{
cout << array[i] << endl;
}

答:首先數組定義有誤,應加上類型參數:vector<int> array。其次vector::size_type被定義為unsigned int,即無符號數,這樣做為循環變量的i0時再減1就會變成最大的整數,導致循環失去控制。

8. 以下代碼中的輸出語句輸出0嗎,為什么?
struct CLS
{
int m_i;
CLS( int i ) : m_i(i) {}
CLS()
{
CLS(0);
}
};
CLS obj;
cout << obj.m_i << endl;

答:不能。在默認構造函數內部再調用帶參的構造函數屬用戶行為而非編譯器行為,亦即僅執行函數調用,而不會執行其后的初始化表達式。只有在生成對象時,初始化表達式才會隨相應的構造函數一起調用。

9. C++中的空類,默認產生哪些類成員函數?
答:
class Empty
{
public:
Empty(); //
缺省構造函數
Empty( const Empty& ); //
拷貝構造函數
~Empty(); //
析構函數
Empty& operator=( const Empty& ); //
賦值運算符
Empty* operator&(); //
取址運算符
const Empty* operator&() const; //
取址運算符 const
};


10.
以下兩條輸出語句分別輸出什么?
float a = 1.0f;
cout << (int)a << endl;
cout << (int&)a << endl;
cout << boolalpha << ( (int)a == (int&)a ) << endl; //
輸出什么?
float b = 0.0f;
cout << (int)b << endl;
cout << (int&)b << endl;
cout << boolalpha << ( (int)b == (int&)b ) << endl; //
輸出什么?

答:分別輸出falsetrue。注意轉換的應用。(int)a實際上是以浮點數a為參數構造了一個整型數,該整數的值是1(int&)a則是告訴編譯器將a當作整數看(并沒有做任何實質上的轉換)。因為1以整數形式存放和以浮點形式存放其內存數據是不一樣的,因此兩者不等。對b的兩種轉換意義同上,但是0的整數形式和浮點形式其內存數據是一樣的,因此在這種特殊情形下,兩者相等(僅僅在數值意義上)。
注意,程序的輸出會顯示(int&)a=1065353216,這個值是怎么來的呢?前面已經說了,1以浮點數形式存放在內存中,按ieee754規定,其內容為0x0000803F(已考慮字節反序)。這也就是a這個變量所占據的內存單元的值。當(int&)a出現時,它相當于告訴它的上下文:把這塊地址當做整數看待!不要管它原來是什么。這樣,內容0x0000803F按整數解釋,其值正好就是1065353216(十進制數)。
通過查看匯編代碼可以證實“(int)a相當于重新構造了一個值等于a的整型數之說,而(int&)的作用則僅僅是表達了一個類型信息,意義在于為cout<<==選擇正確的重載版本。

11. 以下代碼有什么問題?
typedef vector IntArray;
IntArray array;
array.push_back( 1 );
array.push_back( 2 );
array.push_back( 2 );
array.push_back( 3 );
//
刪除array數組中所有的2
for( IntArray::iterator itor=array.begin(); itor!=array.end(); ++itor )
{
if( 2 == *itor ) array.erase( itor );
}

答:同樣有缺少類型參數的問題。另外,每次調用“array.erase( itor );”,被刪除元素之后的內容會自動往前移,導致迭代漏項,應在刪除一項后使itor--,使之從已經前移的下一個元素起繼續遍歷。

12.
寫一個函數,完成內存之間的拷貝。[考慮問題是否全面]
答:
void* mymemcpy( void *dest, const void *src, size_t count )
{
char* pdest = static_cast<char*>( dest );
const char* psrc = static_cast<const char*>( src );
if( pdest>psrc && pdest<psrc+cout )
能考慮到這種情況就行了
{
for( size_t i=count-1; i!=-1; --i )
pdest[i] = psrc[i];
}
else
{
for( size_t i=0; i<count; ++i )
pdest[i] = psrc[i];
}
return dest;
}

 

posted @ 2009-08-03 12:14 chaosuper 閱讀(107) | 評論 (0)編輯 收藏

導讀:習慣的力量是驚人的。習慣能載著你走向成功,也能馱著你滑向失敗。如何選擇,完全取決于你自己。

1.習慣的力量:35歲以前養成好習慣

你想成功嗎?那就及早培養有利于成功的好習慣。

習慣的力量是驚人的,35歲以前養成的習慣決定著你是否成功。

有這樣一個寓言故事:

一位沒有繼承人的富豪死后將自己的一大筆遺產贈送給遠房的一位親戚,這位親戚是一個常年靠乞討為生的乞丐。這名接受遺產的乞丐立即身

價一變,成了百萬富翁。新聞記者便來采訪這名幸運的乞丐:"你繼承了遺產之后,你想做的第一件事是什么?"乞丐回答說:"我要買一只好一點

的碗和一根結實的木棍,這樣我以后出去討飯時方便一些。"

可見,習慣對我們有著絕大的影響,因為它是一貫的,在不知不覺中,經年累月地影響著我們的行為,影響著我們的效率,左右著我們的成敗

。

一個人一天的行為中,大約只有5%是屬于非習慣性的,而剩下的95%的行為都是習慣性的。即便是打破常規的創新,最終可以演變成為習慣性的

創新。

根據行為心理學的研究結果:3周以上的重復會形成習慣;3個月以上的重復會形成穩定的習慣,即同一個動作,重復3周就會變成習慣性動作,

形成穩定的習慣。

亞里士多德說:"人的行為總是一再重復。因此,卓越不是單一的舉動,而是習慣。""人的行為總是一再重復。因此,卓越不是單一的舉動,而

是習慣。"所以,在實現成功的過程中,除了要不斷激發自己的成功欲望,要有信心、有熱情、有意志、有毅力等之外,還應該搭上習慣這一成

功的快車,實現自己的目標。

有個動物學家做了一個實驗:他將一群跳蚤放入實驗用的大量杯里,上面蓋上一片透明的玻璃。跳蚤習性愛跳,于是很多跳蚤都撞上了蓋上的玻

璃,不斷地發叮叮冬冬的聲音。過了一陣子,動物學家將玻璃片拿開,發現竟然所有跳蚤依然在跳,只是都已經將跳的高度保持在接近玻璃即

止,以避免撞到頭。結果竟然沒有一只跳蚤能跳出來--依它們的能力不是跳不出來,只是它們已經適應了環境。

后來,那位動物學家就在量杯下放了一個酒精燈并且點燃了火。不到五分鐘,量杯燒熱了,所有跳蚤自然發揮求生的本能,每只跳蚤再也不管

頭是否會撞痛(因為它們以為還有玻璃罩),全部都跳出量杯以外。這個試驗證明,跳蚤會為了適應環境,不愿改變習性,寧愿降低才能、封閉

潛能去適應。

我想,人類之于環境也是如此。人類在適應外界大環境中,又創造出適合于自己的小環境,然后用習慣把自己困在自己所創造的環境中。所以

,習慣決定著你的活動空間的大小,也決定著你的成敗。養成好習慣對于你的成功非常重要。

心理學巨匠威廉·詹姆士說:"播下一個行動,收獲一種習慣;播下一種習慣,收獲一種性格;播下一種性格,收獲一種命運。"

2.35歲以前成功必備的9大習慣

好習慣會使成功不期而至。我認為下面9個好習慣是成功必備的:

(1)積極思維的好習慣

有位秀才第三次進京趕考,住在一個經常住的店里??荚嚽皟商焖隽巳齻€夢:第一個夢是夢到自己在墻上種白菜,第二個夢是下雨天,他戴了

斗笠還打著傘,第三個夢是夢到跟心愛的表妹脫光了衣服躺在一起,但是背靠著背。臨考之際做此夢,似乎有些深意,秀才第二天去找算命的

解夢。算命的一聽,連拍大腿說:"你還是回家吧。你想想,高墻上種菜不是白費勁嗎?戴斗笠打雨傘不是多此一舉嗎?跟表妹脫光了衣服躺在

一張床上,卻背靠背,不是沒戲嗎?"秀才一聽,心灰意冷,回店收拾包裹準備回家。店老板非常奇怪,問:"不是明天才考試嗎?今天怎么就打

道回府了?"秀才如此這般說了一番,店老板樂了:"唉,我也會解夢的。我倒覺得,你這次一定能考中。你想想,墻上種菜不是高種嗎?戴斗笠

打傘不是雙保險嗎?跟你表妹脫光了背靠背躺在床上,不是說明你翻身的時候就要到了嗎?"秀才一聽,更有道理,于是精神振奮地參加考試,

居然中了個探花。

可見,事物本身并不影響人,人們只受到自己對事物看法的影響,人必須改變被動的思維習慣,養成積極的思維習慣。

怎樣才算養成了積極思維的習慣呢?當你在實現目標的過程中,面對具體的工作和任務時,你的大腦里去掉了"不可能"三個字,而代之以"我怎

樣才能"時,可以說你就養成了積極思維的習慣了。

(2)高效工作的好習慣

一個人成功的欲望再強烈,也會被不利于成功的習慣所撕碎,而溶入平庸的日常生活中。所以說,思想決定行為,行為形成習慣,習慣決定性

格,性格決定命運。你要想成功,就一定要養成高效率的工作習慣。

確定你的工作習慣是否有效率,是否有利于成功,我覺得可以用這個標準來檢驗:即在檢省自己工作的時候,你是否為未完成工作而感到憂慮,

即有焦灼感。如果你應該做的事情而沒有做,或做而未做完,并經常為此而感到焦灼,那就證明你需要改變工作習慣,找到并養成一種高效率

的工作習慣。

高效工作從辦公室開始:

1)了解你每天的精力充沛期。通常人們在早晨9點左右工作效率最高,可以把最困難的工作放到這時來完成。

2)每天集中一、兩個小時來處理手頭緊急的工作,不接電話、不開會、不受打擾。這樣可以事半功倍。

3)立刻回復重要的郵件,將不重要的丟棄。若任它們積累成堆,反而更費時間。

4)做個任務清單,將所有的項目和約定記在效率手冊中。手頭一定要帶著效率手冊以幫助自己按計劃行事。一個人一天的行為中,大約只有5%

是屬于非習慣性的,而剩下的95%的行為都是習慣性的。

5)學會高效地利用零碎時間,用來讀點東西或是構思一個文件,不要發呆或做白日夢。

6)減少回電話的時間。如果你需要傳遞的只是一個信息,不妨發個手機短信。

7)對可能打來的電話做到心中有數,這樣在你接到所期待的電話后便可迅速找到所需要的各種材料,不必當時亂翻亂找。

8)學習上網高效搜尋的技能,以節省上網查詢的時間。把你經常要瀏覽的網站收集起來以便隨時找到。

9)用國際互聯網簡化商業旅行的安排。多數飯店和航線可以網上查詢和預訂。

10)只要情況允許就可委派別人分擔工作。事必躬親會使自己疲憊不堪,而且永遠也做不完。不妨請同事幫忙,或讓助手更努力地投入。

11)做靈活的日程安排,當你需要時便可以忙中偷閑。例如,在中午加班,然后早一小時離開辦公室去健身,或是每天工作10個小時,然后用星

期五來赴約會、看醫生。

12)在離開辦公室之前開列次日工作的清單,這樣第二天早晨一來便可以全力以赴。

計劃習慣,就等于計劃成功。

凡事制定計劃有個名叫約翰·戈達德的美國人,當他15歲的時候,就把自己一生要做的事情列了一份清單,被稱做"生命清單"。在這份排列有

序的清單中,他給自己所要攻克的127個具體目標。比如,探索尼羅河、攀登喜馬拉雅山、讀完莎士比亞的著作、寫一本書等。在44年后,他以

超人的毅力和非凡的勇氣,在與命運的艱苦抗爭中,終于按計劃,一步一步地實現了106個目標,成為一名卓有成就的電影制片人、作家和演說

家。

中國有句老話:"吃不窮,喝不窮,沒有計劃就受窮。"盡量按照自己的目標,有計劃地做事,這樣可以提高工作效率,快速實現目標。

(3)養成鍛煉身體的好習慣

增強保健意識

計劃習慣,就等于計劃成功。如果你想成就一番事業,你就必須有一個健康的身體;要想身體健康,首先要有保健意識。

我認識一個大學教師,身體一直很健康。早些時候,我們經常在一起玩。在談及各人身體狀況時,他說腎部偶爾有輕微不適的感覺。我們曾勸

他去醫院檢查一下,但他自恃身體健康,不以為意。直至后來感覺比較疼痛,其愛人才強迫他去檢查。診斷結果是晚期腎癌。雖經手術化療的

等治療措施,但終未能保住生命,死時才39歲。此前,他曾因學校分房、評職稱不如意,心情一直抑郁,他的病和情緒有關,但如果他保健意

識強,及早去檢查,完全有可以進行預防,消患于未萌。保健意識差,讓他付出了生命的代價。

如何落實保健意識呢?一是要有生命第一、健康第一的意識,有了這種意識,你就會善待自己的身體、自己的心理,而不會隨意糟踏自己的身

體。二是要注意掌握一些相關的知識。三是要使自己有一個對身體應變機制:定期去醫院做身體檢查;身體覺得有不適的地方,應及早去醫院檢

查;在有條件的情況下,可以請一個保健醫生,給自己的健康提出忠告。

▲有計劃地鍛煉身體

鍛煉身體的重要性已經越來越多地為人們所接受,但我感覺很多人只停留在重視的意識階段,而缺乏相應的行動。我認為鍛煉既要針對特定工

作姿勢所能引發的相應疾病有目的地進行,以防止和治療相應的疾病,更要把鍛煉當作一種樂趣,養成鍛煉的習慣。

因為工作需要,我經常與客戶打交道,并因處理突發事情四處奔忙,這在一定程度起到了鍛煉身體的作用,同時,我還每周堅持游泳一到兩次

,以保證有足夠的精力去做工作,去享受生活。

身體鍛煉,就像努力爭取成功一樣,貴在堅持。

除上述兩點以,注意飲食結構,合理膳食,以及注意養成好的衛生習慣等,都是養成健康習慣的組成部分。

總之,健康是"革命"的本錢,是成功的保證。健康成就自己。

(4)不斷學習的好習慣"萬般皆下品,唯有讀書高"的年代已經過去了,但是養成讀書的好習慣則永遠不會過時。

哈利·杜魯門是美國歷史上著名的總統。他沒有讀過大學,曾經營農場,后來經營一間布店,經歷過多次失敗,當他最終擔任政府職務時,已

年過五旬。但他有一個好習慣,就是不斷地閱讀。多年的閱讀,使杜魯門的知識非常淵博。他一卷一卷地讀了《大不列顛百科全書》以及所有

查理斯·狄更斯和維克多·雨果的小說。此外,他還讀過威廉·莎士比亞的所有戲劇和十四行詩等。

杜魯門的廣泛閱讀和由此得到的豐富知識,使他能帶領美國順利度過第二次世界大戰的結束時期,并使這個國家很快進入戰后繁榮。他懂得讀

書是成為一流領導人的基礎。讀書還使他在面對各種有爭議的、棘手的問題時,能迅速做出正確的決定。例如,在20世紀50年代他頂住壓力把

人們敬愛的戰爭英雄道格拉斯·麥克阿瑟將軍解職。

他的信條是:"不是所有的讀書人都是一名領袖,然而每一位領袖必須是讀書人。"

美國前任總統克林頓說:在19世紀獲得一小塊土地,就是起家的本錢;而21世紀,人們最指望得到的贈品,再也不是土地,而聯邦政府的獎學金

。因為他們知道,掌握知識就是掌握了一把開啟未來大門的鑰匙。"

每一個成功者都是有著良好閱讀習慣的人。世界500家大企業的CEO至少每個星期要翻閱大概30份雜志或圖書資訊,一個月可以翻閱100多本雜志

,一年要翻閱1000本以上。

世界500家大企業的CEO至少每個星期要翻閱大概30份雜志或圖書資訊,一個月可以翻閱100多本雜志,一年要翻閱1000本以上。如果你每天讀15

分鐘,你就有可能在一個月之內讀完一本書。一年你就至少讀過12本書了,10年之后,你會讀過總共120本書!想想看,每天只需要抽出15分鐘

時間,你就可以輕易地讀完120本書,它可以幫助你在生活的各方面變得更加富有。如果你每天花雙倍的時間,也就是半個小時的話,一年就能

讀25本書--10年就是250本!

我覺得,每一個想在35歲以前成功的人,每個月至少要讀一本書,兩本雜志。

(5)謙虛的好習慣

一個人沒有理由不謙虛。相對于人類的知識來講,任何博學者都只能是不及格。

著名科學家法拉第晚年,國家準備授予他爵位,以表彰他在物理、化學方面的杰出貢獻,但被他拒絕了。法拉第退休之后,仍然常去實驗室做

一些雜事。一天,一位年輕人來實驗室做實驗。他對正在掃地的法拉第說道:"干這活,他們給你的錢一定不少吧?"老人笑笑,說道:"再多一點

,我也用得著呀。""那你叫什么名字?老頭?""邁克爾·法拉第。"老人淡淡地回答道。年輕人驚呼起來:"哦,天哪!您就是偉大的法拉第先生

!""不",法拉第糾正說,"我是平凡的法拉第。"

謙虛不僅是一種美德,更是是一種人生的智慧,是一種通過貶低自己來保護自己的計謀。

(6)自制的好習慣

任何一個成功者都有著非凡的自制力。

三國時期,蜀相諸葛亮親自率領蜀國大軍北伐曹魏,魏國大將司馬懿采取了閉城休戰、不予理睬的態度對付諸葛亮。他認為,蜀軍遠道來襲,

后援補給必定不足,只要拖延時日,消耗蜀軍的實力,一定能抓住良機,戰勝敵人。

諸葛亮深知司馬懿沉默戰術的利害,幾次派兵到城下罵陣,企圖激怒魏兵,引誘司馬懿出城決戰,但司馬懿一直按兵不動。諸葛亮于是用激將

法,派人給司馬懿送來一件女人衣裳,并修書一封說:"仲達不敢出戰,跟婦女有什么兩樣。你若是個知恥的男兒,就出來和蜀軍交戰,若不然

,你就穿上這件女人的衣服。""士可殺不可辱。"這封充滿侮辱輕視的信,雖然激怒了司馬懿,但并沒使老謀深算的司馬懿改變主意,他強壓怒

火穩住軍心,耐心等待。

相持了數月,諸葛亮不幸病逝軍中,蜀軍群龍無首,悄悄退兵,司馬懿不戰而勝。

抑制不住情緒的人,往往傷人又傷己如果司馬懿不能忍耐一時之氣,出城應戰,那么或許歷史將會重寫。

現代社會,人們面臨的誘惑越來越多,如果人們缺乏自制力,那么就會被誘惑牽著鼻子走,偏離成功的軌道。

(7)幽默的好習慣

有人說,男人需要幽默,就像女人需要一個漂亮的臉蛋一樣重要。

男人需要幽默,就像女人需要一個漂亮的臉蛋一樣重要。美國第16任總統林肯長相丑陋,但他從不忌諱這一點,相反,他常常詼諧地拿自己的

長相開玩笑。在競選總統時,他的對手攻擊他兩面三刀,搞陰謀詭計。林肯聽了指著自己的臉說:"讓公眾來評判吧。如果我還有另一張臉的話

,我會用現在這一張嗎?"還有一次,一個反對林肯的議員走到林肯跟前挖苦地問:"聽說總統您是一位成功的自我設計者?""不錯,先生。"林

肯點點頭說,"不過我不明白,一個成功的設計者,怎么會把自己設計成這副模樣?"林肯就是這種幽默的方法,多次成功地化解了可能出現的

尷尬和難堪場面。

沒有幽默的男人不一定就差,但懂得幽默的男人一定是一個優秀的人,懂得幽默的女人更是珍稀動物。

(8)微笑的好習慣

微笑是大度、從容的表現,也是交往的通行證。

舉世聞名的希爾頓大酒店,其創建人希爾頓在創業之初,經過多年探索,最終發現了一條簡單、易行、不花本錢的經營秘訣--微笑。從此,他

要求所有員工:無論飯店本身遭遇到什么困難,希爾頓飯店服務員臉上的微笑永遠是屬于顧客的陽光。這束"陽光"最終使希爾頓飯店贏得了全世

界一致好評。

在歐美發達國家,人們見面都要點頭微笑,使人們相互之間感到很溫暖。而在中國,如果你在大街上向一個女士微笑,那么你可能被說成"有病

"。向西方人學習,讓我們致以相互的微笑吧。

從古至今,敬業是所有成功人士最重要的品質之一。

(9)敬業、樂業的好習慣

敬業是對渴望成功的人對待工作的基本要求,一個不敬業的人很難在他所從事的工作中做出成績。

美國標準石油公司有一個叫阿基勃特的小職員,開始并沒有引起人們的特別注意。他的敬業精神特別強,處處注意維護和宣傳企業的聲譽。在

遠行住旅館時總不忘記在自己簽名的下方寫上"每桶四美元的標準石油"字樣,在給親友寫信時,甚至在打收條時也不例外,簽名后總不忘記寫

那幾個字。為此,同事們都叫他"每桶四美元"。這事被公司的董事長洛克菲勒知道了,他邀請阿基勃特共進晚餐,并號召公司職員向他學習。

后來,阿基勃特成為標準石油公司的第二任董事長。

 
 
 
 
壞習慣使成功寸步難行。

與建立良好習慣相應的,是克服不良習慣。不破不立,不改掉不良習慣,好習慣是難以建立起來的。

古希臘的佛里幾亞國王葛第士以非常奇妙的方法,在戰車的軛打了一串結。他預言:誰能打開這個結,就可以征服亞洲。一直到公元前334年還

沒有一個人能將繩結打開。這時。亞歷山大率軍入侵小亞細亞,他來到葛第士繩結前,不加考慮便拔劍砍斷了它。后來,他果然一舉占領了比

希臘大50倍的波斯帝國。

一個孩子在山里割草,不小心被毒蛇咬傷了腳。孩子疼痛難忍,而醫院在遠處的小鎮上。孩子毫不猶豫地用鐮刀割斷受傷的腳趾,然后忍著巨

痛艱難地走到醫院。雖然缺少了一個腳趾,但這個孩子以短暫的疼痛保住了自己的生命。

改掉壞習慣,就應該有亞歷山大的氣概,就應有那個小孩的果斷和勇敢,徹底改掉壞習慣,讓好習慣引領自己走向成功。

以下這9大惡習是你必須戒除的:

1)經常性遲到。你上班或開會經常遲到嗎?遲到是造成使老板和同事反感的種子,它傳達出的信息:你是一個只考慮自己、缺乏合作精神的人。

2)拖延。雖然你最終完成了工作,但拖后腿使你顯得不勝任。為什么會產生延誤呢?如果是因為缺少興趣,你就應該考慮一下你的擇業;如果

是因為過度追求盡善盡美,這毫無疑問會增多你在工作中的延誤。社會心理學專家說:很多愛拖延的人都很害怕冒險和出錯,對失敗的恐懼使他

們無從下手。

3)怨天尤人。這幾乎是失敗者共同的標簽。一個想要成功的人在遇到挫折時,應該冷靜地對待自己所面臨的問題,分析失敗的原因,進而找到

解決問題的突破口。

4)一味取悅他人。一個真正稱職的員工應該對本職工作內存在的問題向上級說明并提出相應的解決辦法,而不應該只是附和上級的決定。對于

管理者,應該有嚴明的獎懲方式,而不應該做"好好先生",這樣做雖然暫時取悅了少數人,卻會失去大多數人的支持。

5)傳播流言。每個人都可能會被別人評論,也會去評論他人,但如果津津樂道的是關于某人的流言蜚語,這種議論最好停止。世上沒有不透風

的墻,你今天傳播的流言,早晚會被當事人知道,又何必去搬石頭砸自己的腳?所以,流言止于智者。

6)對他人求全責備、尖酸刻薄。每個人在工作中都可能有失誤。當工作中出現問題時,應該協助去解決,而不應該一味求全責備。特別是在自

己無法做到的情況下,讓自己的下屬或別人去達到這些要求,很容易使人產生反感。長此以往,這種人在公司沒有任何威信而言。

7)出爾反爾。已經確定下來的事情,卻經常做變更,就會讓你的下屬或協助員工無從下手。你做出的承諾,如果無法兌現,會在大家面前失去

信用。這樣的人,難以擔當重任。

8)傲慢無禮。這樣做并不能顯得你高人一頭,相反會引起別人的反感。因為,任何人都不會容忍別人瞧不起自己。傲慢無禮的人難以交到好的

朋友。人脈就是財脈,年輕時養成這種習慣的人,相信你很難取得成功。

9)隨大流。人們可以隨大流,但不可以無主見。如果你習慣性地隨大流,那你就有可能形成思維定勢,沒有自己的主見,或者既便有,也不敢

表達自己的主見,而沒有主見的人是不會成功的。( 世界經理人)

沒能發財的十大原因

1、不明白財富的定義;不明白成功的鏡像規律。

汗,還真不知道什么叫財富。再怯怯地問一聲:啥叫鏡像啊?

2、沒有致富的心態與觀念

承認自己沒有,比如有致富心態的,看到一個鋪面門庭若市,他會想到那里到底賣什么東西這么吸引人,回去自己也搗鼓點賣。而我只是想擠

進去買點便宜貨。

3、沒有理財與致富的規劃

又一條沒有。從來沒為自己做過規劃,劃了也堅持不了三個月。

4、理財方式與訓練方式不恰當

來論壇之后才學著理財。方法正在學習中。

5、大多數人沒有投資在高報酬的領域中

這個肯定啦,如果有誰知道投資可獲得高報酬的,除了股票和傳銷,請你馬上告訴我。

6、沒有用商業手法控制支出

這個我也有。想花錢的時候就告訴自己先花了再說,不考慮控制。

7、不善于創造把握理財與致富的機會

這個我覺得我沒有,總認為是機會還沒來,來了我當然要抓住。

8、無創新意識不知如何決策

承認。確實不愿意創新。聽了那么多關于貨幣基金的介紹,可我還是一門心思在儲蓄,因為懶、嫌麻煩。

9、未以正確的思考方式解決問題

不承認,我一直都在我認為正確的道路上行走著。

10、沒有找到一位理財與致富向導

確實沒有。不過來理財生活以后又感覺向導太多了,有點暈。(阿里巴巴)

三種策略讓你賺到100萬

大多數年輕人的目標是100萬元,而且是愈早實現愈好。但是根據網絡調查顯示,有七成人認為,30歲時至少應該先擁有10萬元存款,但卻只有

一成七的人能夠辦到。這就表示有相當多的年輕人,連10萬元的目標都還沒能達成,百萬財富更是一個遙遠的夢想。

于是在社會上各種致富法紛紛出籠。譬如嫁入豪門、娶個富家女、每期買彩票,這些方法似乎是最快、但也是最不切實際的。到底有沒有機會

靠著自己的努力,提早賺到百萬財富,答案當然是"有",這里有短、中、長期三套戰略,供你參考。

2年戰略:高杠桿工具才能小兵立大功

如果想兩年就賺到百萬財富,最可能實現夢想的途徑就是利用高杠桿投資工具。雖然風險超高,但是報酬也高,想要以小搏大、倍數獲利,就

要正確運用這種工具。只要你對趨勢敏感,行情不論走多或是走空,都有獲利機會。

高杠桿投資憑借的不是運氣,而是精準判斷盤勢,冷靜面對大盤起落,情緒絕不隨著輸贏起舞。但所謂"高收益高風險",想要兩年就得到暴利

,等于是走著鋼索賺錢,因為期貨或是選擇權杠桿高,當看錯趨勢時,幾十萬元很快就輸光出場,是一條風險最高的求財途徑。因此,先模擬

練功并嚴格控制投資金額,是激進主義者最重要的自保之道。

5年戰略:做老板、當top sales

如果自認為用期指或是選擇權賺大錢,心臟不夠強、武藝不夠高的話,年限不妨放寬一點,定5年戰略,也就是努力創業當老板、甚至是加盟總

部的老板、或是努力成為業務高手。

什么樣的創業能夠5年就凈賺百萬元,當然是要能引領潮流或是抓住特殊機遇的創業。

程度更高段的賺錢方法則是當一群老板的老板,也就是成立加盟連鎖總部,只要能夠研發出獨特口味、或是獨特經營模式,而且能夠復制標準

化程序,穩定收取加盟店上繳的權利金。

當然創業的成本高,學問也很大。如果不愿意當老板,只想繼續當伙計賺大錢,不妨選擇產品單價高、抽傭也高、制度完善的業務體系,只要

用對方法,就可以成為個中高手

10年戰略:運用多種工具保守理財

如果自認投資手段不佳,也不適合創業當老板,或是不擅與人打交道,無法成為業務高手的話,那么便得回歸正統的理財管道,將累積財富的

時間拉長至10年,積極開源、努力儲蓄守成,透過定期儲蓄,或是投資定存概念股,每年賺取股利,或是把錢交給專家理財,透過定期定額基

金投資,逐步累積資產。

更傳統的方式是投資房地產,雖然國內房地產價格還有向下修正的空間,但只要選對地段,還是可以找到極具增值潛力的房子,不管是自住或

投資,都是一種穩健的資產累積方式。

你是屬于急功近利型的兔子?還是穩扎穩打型的烏龜?其實都有適合的致富計劃,但要再提醒的是,不管選擇哪一種計劃,想要提前致富,一

定要做足功課,懂得深入領受實踐,百萬財富將不是遙遠夢想!(理財加油站) 
 

posted @ 2009-07-21 20:43 chaosuper 閱讀(238) | 評論 (0)編輯 收藏

我們也許學習過const的使用,但是對于const的細致的技術細節卻不一定掌握。const的用法在許多的教材上只是簡單的介紹,在這里我們對 const進行細致的概念以及用法剖析。const 是由c++采用,并加進標準c中,但是他們的意義完全不同,在舊版本(標準前)的c中,如果想建立一個常量,必須使用預處理器:
#define PI 3.14159

此后無論在何處使用PI,都會被預處理器以3.14159替代。編譯器不對PI進行類型檢查,也就是說可以不受限制的建立宏并用它來替代值,如果使用不慎,很可能由預處理引入錯誤,這些錯誤往往很難發現。

我們也不能得到PI的地址(即不能向PI傳遞指針和引用)。
c++引入了命名常量的概念,命名常量就像變量一樣,只是它的值不能改變,如果試圖改變一個const 對象,編譯器將會產生錯誤。 const 和正常變量一樣有作用域,所以函數內部的const也不會影響程序的其余部分。在c++中const可以取代預處理器#define來進行值替代, const有安全的類型檢查,所以不用擔心會像預處理器一樣引入錯誤。

在通常的情況下const同預處理器#define一樣只是將所賦值保存入編譯器的符號表中(符號表僅僅在編譯時存在,在編譯過程中編譯器將程序中的名字與之在符號表中定義的數值作簡單的替換),在使用的時候進行值替換,并不為const創建存儲空間。我們將const的定義放進頭文件里,這樣通過包含頭文件,可以把const定義單獨放在一個地方并把它分配給一個編譯單元,const默認為內部連接(內部連接意味著只對正在編譯的文件創建存儲空間,別的文件可以使用相同的標示符和全局變量,編譯器不會發現沖突,外部連接意味著為所有被編譯過的文件創建一片單獨的存儲空間,一般全局變量和函數名的外部連接通過extern聲明,可以通過其他的文件訪問)也就是說const僅能被它所定義過的文件訪問,在定義一個const時,必須賦一個值給它,除非用extern做出說明:

extern const int a;

這表示const的定義在其他的什么地方,這里僅僅是一個聲明,但是這樣的做法使const使用了外部連接,也就是說上面的extern強制進行了對const的存儲空間分配,這樣我們就無法再用const作為常量折疊(在可能的情況下,符號常量的值會代替改名字的出現,這個替代過程叫做常量折疊)使用了,即使我們在其他地方定義了const的值,如:

extern const int a=3;

因為const的值被放入了存儲單元,在編譯的過程中,編譯器不會去讀存儲單元的內容。如果我們這樣做:

int b[a];

編譯器就會給我們一個錯誤信息。

想不為const分配存儲空間是不可能的,因為對于復雜的結構,例如集合,編譯器不會復雜到將集合保存到它的符號表中,所以必須分配內存空間,這就意味著“這是一塊不能改變的存儲空間”,當然也就不能在編譯期間使用它的值,因為編譯器不知道存儲的內容:

const int i[]={1,2,3,4};

//float f[i[2]];
//將得到錯誤信息,編譯器提示不能在數組定義里找到一個常數表達式。

因為編譯器靠移動棧指針來存儲和讀取數據。
也因此,由于無法避免為const分配內存,所以const的定義必須默認為內部連接,否則由于眾多的const在多個文件中分配內存,就會引起錯誤。下面我們看一段簡單有效的代碼來說明const的常量折疊:

#include <iostream.h>
const int a=3;
const int b=a+1;
float *f=(float*)&b;
char c[b+3];
void main()
{
const char gc=cin.get();
const char c2=gc+3;
}

我們可以看到,a是一個編譯器期間的const,b是從a中計算出來的,由于a是一個const,b的計算值來自一個常數表達式,而它自身也是一個編譯器間的const,接著下面指針f取得了b的地址,所以迫使編譯器給b分配了存儲空間,不過即使分配了存儲空間,由于編譯器已經知道了b的值,所以仍然不妨礙在決定數組c的大小時使用b。

在主函數main()里,標識符gc的值在編譯期間是不知道的,這也意味著需要存儲空間,但是初始化要在定義點進行,而且一旦初始化,其值就不能改變,我們發現c2是由gc計算出來的,它的作用域與其他類型const的作用域是一樣的,這是對#define用法的一種改進。

在c++引進常量的時候,標準c也引入了const,但是在c中const的意思和在c++中有很大不同,在c中const的意思是“一個不能改變的普通變量”,const常量總是被分配存儲空間而且它的名字是全局符即const使用外部連接。于是在c中:

const int size=100;
char c[size];

得出一個錯誤。但是在c中可以這樣寫:

const int size;

因為c中的const被默認為外部連接,所以這樣做是合理的。
在c語言中使用限定符const不是很有用,如果希望在常數表達式里(必須在編譯期間被求值)使用一個已命名的值,必須使用預處理器#define。

在c++中可以使指針成為const,這很有用,如果以后想在程序代碼中改變const這種指針的使用,編譯器將給出通知,這樣大大提高了安全性。在用帶有const的指針時,我們有兩種選擇:const修飾指針指向的對象,或者const修飾指針自己指向的存儲空間。

如果要使指向的對象不發生改變,則需要這樣寫:

const int *p;

這里p是一個指向const int 的指針,它不需要初始化,因為p可以指向任何標識符,它自己并不是一個const,但是它所指的值是不能改變的,同樣的,我們可以這樣寫:

int const *p;

這兩種方法是等同的,依據個人習慣以及編碼風格不同,程序員自己決定使用哪一種形式。
如果希望使指針成為一個const必須將const標明的部分放在*右邊。

int a=3;
int *const j=&a

編譯器要求給它一個初始值,這個值在指針的生命期間內不變,也就是說指針始終指向a的地址,不過要改變它地址中的值是可以的:

*j+=4;

也可以是一個const指針指向一個const對象:

const int *j1=&a;
int const *j2=&a;

這樣指針和對象都不能改變,這兩種形式同樣是等同的。在賦值的的時候需要注意,我們可以將一個非const的對象地址賦給一個const指針,但是不能將一個const對象地址賦給一個非const指針,因為這樣可能通過被賦值的指針改變對象的值,當然也可以用類型的強制轉換來進行const對象的賦值,但是這樣做打破了const提供的安全性。

const也被用于限定函數參數和函數的返回值,如果函數參數是按值傳遞時,即表示變量的初值不會被函數改變,如果函數的返回值為const那么對于內部類型來說按值返回的是否是一個cosnt是無關緊要的,編譯器不讓它成為一個左值,因為它是一個值而不是一個變量,所以使用const是多余的,例如:

const int f(){return 1;}
void main(){int a=f();}

但是當處理用戶定義類型的時候,按值返回常量就很有意義了,這時候函數的返回值不能被直接賦值也不能被修改。僅僅是非const返回值能作為一個左值使用,但是這往往失去意義,因為函數返回值在使用時通常保存為一個臨時量,臨時量被作為左值使用并修改后,編譯器將臨時量清除。結果丟失了所有的修改。
可以用const限定傳遞或返回一個地址(即一個指針或一個引用):

const int * const func(const int *p)
{ static int a=*p;
return &a;
}

參數內的const限定指針p指向的數據不能被改變,此后p的值被賦給靜態變量a,然后將a的地址返回,這里a是一個靜態變量,在函數運行結束后,它的生命期并沒有結束,所以可以將它的地址返回。因為函數返回一個const int* 型,所以函數func的返回值不可以賦給一個非指向const的指針,但它同時接受一個const int * const和一個const int *指針,這是因為在函數返回時產生一個const臨時指針用以存放a的地址,所以自動產生了這種原始變量不能被改變的約定,于是*右邊的const只有當作左值使用時才有意義。

const同樣運用于類中,但是它的意義又有所不同,我們可以創建const的數據成員,const的成員函數,甚至是const的對象,但是保持類的對象為const比較復雜,所以const對象只能調用const成員函數。

const的數據成員在類的每一個對象中分配存儲,并且一旦初始化這個值在對象的生命期內是一個常量,因此在類中建立一個const數據成員時,初始化工作必須在構造函數初始化列表中。如果我們希望創建一個有編譯期間的常量成員,這就需要在該常量成員的前面使用static限定符,這樣所有的對象都僅有一個實例:

class X
{
static const int size=50;
int a[size];
public:
X();
};

const對象只能調用const成員函數,一個普通對象同樣可以調用const成員函數,因此,const成員函數更具有一般性,但是成員函數不會默認為const。聲明一個const成員函數,需要將const限定符放在函數名的后面:

void f (void ) const;

當我們運用const成員函數時,遇到需要改變數據成員,可以用mutable進行特別的指定:

class X
{
mutable int i;
public:
X();
void nochange() const;
};

void X::nochange const(){i++;}

const消除了預處理器的值替代的不良影響,并且提供了良好的類型檢查形式和安全性,在可能的地方盡可能的使用const對我們的編程有很大的幫助。
posted @ 2009-07-21 18:04 chaosuper 閱讀(127) | 評論 (0)編輯 收藏

一、隊伍組成

銷售團隊

測試團隊

游戲評論隊伍

游戲制作人

n開發組長(always)
n資源管理 (Resource Management)
n行政管理 (Administration)
n向上負責 (Upward Management)
n專案管理 (Project Management)

游戲執行制作人

n專案管理執行 (Project Management)
nDaily 運作
nHouse Keeping
nNot full-time job position

游戲策劃

n故事設計 (Story Telling)
n腳本設計 (Scripting)
n玩法設計 (Game Play Design)
n關卡設計 (Level Design)
n游戲調適 (Game Tuning)
n數值設定 (Numerical Setup)
nAI 設計 (Game AI)
n音效設定 (Sound FX Setup)
n場景設定 (Scene Setup)

游戲美術

n場景 (Terrain)
n人物 (Character)
n建模 (Models)
n材質 (Textures)
n動作 (Motion / Animation)
n特效 (FX)
n用戶界面User Interface

游戲程序

n游戲程序 (Game Program)
n游戲開發工具 (Game Tools)
nLevel Editor
nScene Editor
nFX Editor
nScript Editor
n游戲Data Exporters from 3D Software
n3dsMax / Maya / Softimage
n游戲引擎開發Game Engine Development
n網絡游戲服務端開發Online Game Server Development


二、游戲開發流程

n創意 (Idea)
n提案 (Proposal)
n制作 (Production)
n整合 (Integration)
n測試 (Testing)
n除錯 (Debug)
n調試 (Tuning)

游戲設計(Concept Design)

n游戲類型 (Game Types)
n游戲世界觀 (Game World)
n故事 (Story)
n游戲特色 (Features)
n游戲玩法 (Game Play)
n游戲定位 (Game Product Positioning)
nTarget player
nMarketing segmentation / positioning
n風險評估 (Risk)
nSWOT (優勢Strength/缺點Weakness/機會Opportunity/威脅Threat)

游戲提案 (Proposal)

n系統分析 (System Analysis)
n游戲設計文件撰寫 (Game Design Document)
n傳播媒介文件撰寫 (Media Design Document)
n技術設計文案撰寫 (Technical Design Document)
n游戲專案建立 (Game Project)
n時間表Schedule
n進程/控制Milestones / Check points
n管理Risk management
n測試計劃書
n團隊建立 (Team Building)

游戲開發 (Production)

美術量產制作
n(建模)Modeling
n(結構)Textures
n(動畫)Animation
n(動作)Motion
n(特效)FX
n程序開發 (Coding)
n策劃數值設定

游戲整和 (Integration)

n關卡串聯 (Level Integration)
n數值調整 (Number Tuning)
n音效置入 (Audio)
n完成所有美術
n程旬與美術結合
n(攻略)Focus Group (說明書User Study)
n發布一些攻略截圖Release some playable levels for focus group

游戲測試 (Testing)

nAlpha(α) 測試
n除錯 (Debug)
nBeta (β)測試
n數值微調
nGame play 微調
n對網絡游戲而言 (MMOG)
n封閉測試 (Closed Beta)
n開放測試 (Open Beta)
n壓力(極限)測試 (Critical Testing)
n網絡游戲才有

關于Bug
nBug 分級 (Bug Classification)
nA Bug
nB Bug
nC Bug
nS Bug
nPrinciples
nBug 分級從嚴
nTester(測試對象?—) vs Debugger(調試程序)



三、游戲系統(Game Software System)

系統層System Layer - APIs

n3D Graphics API
nDirectX 9.0 SDK - Direct3D
nOpenGL 2.0
n2D API
nDirectX 9.0 SDK - DirectMedia
nWin32 GDI
nInput Device
nDirectX 9.0 SDK - DirectInput
nAudio
nDirectX 9.0 SDK - DirectSound / Direct3DSound / DirectMedia
nOpenAL
nOS API
nWin32 SDK
nMFC
nNetwork    
nDirectX 9.0 SDK - DirectPlay
nSocket library


引擎層Engine Layer

n3D Scene Management System
nScene Graph
nShaders
n2D Sprite System
nAudio System
nGamepad
nHotkey
nMouse
nTimers
nNetwork
nDDK Interface
nTerrain
nAdvanced Scene Management - Space Partition
nBSP Tree
nOctree
nCharacter System
nMotion Blending Techniques
nDynamics
nCollision Detection
nSoundFX
nUser Interface

游戲層Game Play Modula

nNPC (Non-playable Characters)
n Game AI
n Path Finding
n Finite State Machine
n ...
nAvatar
nCombat System
nFX System
nScript System
nTrading System
nNumber System
n ...
nGame Dev Tools
nVisual C/C++
n.net 2003
nVisual C/C++ 6.0+ SP5
nDirectX
nCurrent 9.0c
nNuMega BoundsChecker
nIntel vTune
n3D Tools
n3dsMax/Maya/Softimage
nIn-house Tools

游戲分類

nRPG (Role playing games角色扮演)
nAVG (Adventure games冒險類)
nRTS (Real-time strategy games既時戰略)
nFPS (First-person shooting games主視覺射擊)
nMMORPG(多人在線角色扮演)
nSLG (戰棋)
n Simulation(模擬)
nSports(運動)
nPuzzle games(解迷)
nTable games(棋牌)

posted @ 2009-07-21 13:34 chaosuper 閱讀(239) | 評論 (0)編輯 收藏

Connect to the Internet
    Terminate   sudo pppoeconf
                password
                input the adsl username and password
                choose default yes to all
                sudo pon dsl-provider
QQ for linux
    Download QQ for linux Deb Package and Install, Then U can use it .

posted @ 2009-07-21 07:05 chaosuper 閱讀(102) | 評論 (0)編輯 收藏

 

在C++中,庫的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了設計庫來擴充功能要好過

設計更多的語法的言論?,F實中,C++的庫門類繁多,解決的問題也是極其廣泛,庫從輕量級到重量級

的都有。不少都是讓人眼界大開,亦或是望而生嘆的思維杰作。由于庫的數量非常龐大,而且限于筆者

水平,其中很多并不了解。所以文中所提的一些庫都是比較著名的大型庫。

標準庫

標準庫中提供了C++程序的基本設施。雖然C++標準庫隨著C++標準折騰了許多年,直到標準的出臺才正

式定型,但是在標準庫的實現上卻很令人欣慰得看到多種實現,并且已被實踐證明為有工業級別強度的

佳作。

1、   Dinkumware C++ Library

參考站點:http://www.dinkumware.com/'>http://www.dinkumware.com/

P.J. Plauger編寫的高品質的標準庫。P.J. Plauger博士是Dr. Dobb's程序設計杰出獎的獲得者。其編

寫的庫長期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C++的產品中采用

Dinkumware的庫。

2、   RogueWave Standard C++ Library

參考站點:

http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/'>http://ww

w.roguewave.com/

這個庫在Borland C++ Builder的早期版本中曾經被采用,后來被其他的庫給替換了。筆者不推薦使用

3、SGI STL

參考站點:

http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/'>http://ww

w.roguewave.com/

SGI公司的C++標準模版庫。

4、STLport

參考站點:http://www.stlport.org/'>http://www.stlport.org/

SGI STL庫的跨平臺可移植版本。

 

準標準庫——Boost

Boost庫是一個經過千錘百煉、可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的

發動機之一。 Boost庫由C++標準委員會庫工作組成員發起,在C++社區中影響甚大,其成員已近2000人

。 Boost庫為我們帶來了最新、最酷、最實用的技術,是不折不扣的“準”標準庫。

Boost中比較有名氣的有這么幾個庫:

Regex
正則表達式庫

Spirit
LL parser framework,用C++代碼直接表達EBNF

Graph
圖組件和算法

Lambda
在調用的地方定義短小匿名的函數對象,很實用的functional功能

concept check
檢查泛型編程中的concept

Mpl
用模板實現的元編程框架

Thread
可移植的C++多線程庫

Python
把C++類和函數映射到Python之中

Pool
內存池管理

smart_ptr
5個智能指針,學習智能指針必讀,一份不錯的參考是來自CUJ的文章:

Smart Pointers in Boost,哦,這篇文章可以查到,CUJ是提供在線瀏覽的。中文版見筆者在《Dr.

Dobb's Journal軟件研發雜志》第7輯上的譯文。


Boost總體來說是實用價值很高,質量很高的庫。并且由于其對跨平臺的強調,對標準C++的強調,是編

寫平臺無關,現代C++的開發者必備的工具。但是Boost中也有很多是實驗性質的東西,在實際的開發中

實用需要謹慎。并且很多Boost中的庫功能堪稱對語言功能的擴展,其構造用盡精巧的手法,不要貿然

的花費時間研讀。Boost另外一面,比如Graph這樣的庫則是具有工業強度,結構良好,非常值得研讀的

精品代碼,并且也可以放心的在產品代碼中多多利用。

參考站點:http://www.boost.org'>http://www.boost.org(國內鏡像:

http://www.c'>http://www.c'>http://www.c'>http://www.c-view.org/tech/lib/boost/index.htm

GUI

在眾多C++的庫中,GUI部分的庫算是比較繁榮,也比較引人注目的。在實際開發中,GUI庫的選擇也是

非常重要的一件事情,下面我們綜述一下可選擇的GUI庫,各自的特點以及相關工具的支持。

1、   MFC

大名鼎鼎的微軟基礎類庫(Microsoft Foundation Class)。大凡學過VC++的人都應該知道這個庫。雖

然從技術角度講,MFC是不大漂亮的,但是它構建于Windows API 之上,能夠使程序員的工作更容易,編

程效率高,減少了大量在建立 Windows 程序時必須編寫的代碼,同時它還提供了所有一般 C++ 編程的

優點,例如繼承和封裝。MFC 編寫的程序在各個版本的Windows操作系統上是可移植的,例如,在

Windows 3.1下編寫的代碼可以很容易地移植到 Windows NT 或 Windows 95 上。但是在最近發展以及

官方支持上日漸勢微。

 

2、   QT

參考網站:http://www.trolltech.com/'>http://www.trolltech.com/

Qt是Trolltech公司的一個多平臺的C++圖形用戶界面應用程序框架。它提供給應用程序開發者建立藝術

級的圖形用戶界面所需的所用功能。Qt是完全面向對象的很容易擴展,并且允許真正地組件編程。自從

1996年早些時候,Qt進入商業領域,它已經成為全世界范圍內數千種成功的應用程序的基礎。Qt也是流

行的Linux桌面環境KDE 的基礎,同時它還支持Windows、Macintosh、Unix/X11等多種平臺。

 

3、WxWindows

參考網站:http://www.wxwindows.org/'>http://www.wxwindows.org/

跨平臺的GUI庫。因為其類層次極像MFC,所以有文章介紹從MFC到WxWindows的代碼移植以實現跨平臺的

功能。通過多年的開發也是一個日趨完善的GUI庫,支持同樣不弱于前面兩個庫。并且是完全開放源代

碼的。新近的C++ Builder X的GUI設計器就是基于這個庫的。

4、Fox

開放源代碼的GUI庫。作者從自己親身的開發經驗中得出了一個理想的GUI庫應該是什么樣子的感受出發

,從而開始了對這個庫的開發。有興趣的可以嘗試一下。

參考網站:http://www.fox'>http://www.fox-toolkit.org/

5、   WTL

基于ATL的一個庫。因為使用了大量ATL的輕量級手法,模板等技術,在代碼尺寸,以及速度優化方面做

得非常到位。主要面向的使用群體是開發COM輕量級供網絡下載的可視化控件的開發者。

6、   GTK

參考網站:http://gtkmm.sourceforge.net/

GTK是一個大名鼎鼎的C的開源GUI庫。在Linux世界中有Gnome這樣的殺手應用。而GTK就是這個庫的C++

封裝版本。


網絡通信

ACE

參考網站:

http://www.c'>http://www.c'>http://www.c'>http://www.cs.wustl.edu/~schmidt/ACE.html

C++庫的代表,超重量級的網絡通信開發框架。ACE自適配通信環境(Adaptive Communication

Environment)是可以自由使用、開放源代碼的面向對象框架,在其中實現了許多用于并發通信軟件的

核心模式。ACE提供了一組豐富的可復用C++包裝外觀(Wrapper Facade)和框架組件,可跨越多種平臺

完成通用的通信軟件任務,其中包括:事件多路分離和事件處理器分派、信號處理、服務初始化、進程

間通信、共享內存管理、消息路由、分布式服務動態(重)配置、并發執行和同步,等等。

StreamModule

參考網站:http://www.omnifarious.org/StrMod/'>http://www.omnifarious.org/StrMod/

設計用于簡化編寫分布式程序的庫。嘗試著使得編寫處理異步行為的程序更容易,而不是用同步的外殼

包起異步的本質。

SimpleSocket

參考網站:http://home.hetnet.nl/~lcbokkers/simsock.htm

這個類庫讓編寫基于socket的客戶/服務器程序更加容易。

A Stream Socket API for C++

參考網站:

http://www.pcs.cnu.edu/'>http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.html

又一個對Socket的封裝庫。

XML

Xerces

參考網站:http://xml.apache.org/xerces-c/

Xerces-C++ 是一個非常健壯的XML解析器,它提供了驗證,以及SAX和DOM API。XML驗證在文檔類型定

義(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XML

Schema 的基本完整的開放標準。

XMLBooster

參考網站:http://www.xmlbooster.com/'>http://www.xmlbooster.com/

這個庫通過產生特制的parser的辦法極大的提高了XML解析的速度,并且能夠產生相應的GUI程序來修改

這個parser。在DOM和SAX兩大主流XML解析辦法之外提供了另外一個可行的解決方案。

Pull Parser

         參考網站:

http://www.extreme.indiana.edu/xgws/xsoap/xpp/'>http://www.extreme.indiana.edu/xgws/xsoap/

xpp/

         這個庫采用pull方法的parser。在每個SAX的parser底層都有一個pull的parser,這個xpp把

這層暴露出來直接給大家使用。在要充分考慮速度的時候值得嘗試。

Xalan

         參考網站:http://xml.apache.org/xalan-c/

         Xalan是一個用于把XML文檔轉換為HTML,純文本或者其他XML類型文檔的XSLT處理器。

CMarkup

         參考網站:http://www.firstobject.com/xml.htm'>http://www.firstobject.com/xml.htm

         這是一種使用EDOM的XML解析器。在很多思路上面非常靈活實用。值得大家在DOM和SAX之外尋

求一點靈感。

libxml++

http://libxmlplusplus.sourceforge.net/

libxml++是對著名的libxml XML解析器的C++封裝版本

 

科學計算

Blitz++

參考網站:http://www.oonumerics.org/blitz/'>http://www.oonumerics.org/blitz/

Blitz++ 是一個高效率的數值計算函數庫,它的設計目的是希望建立一套既具像C++ 一樣方便,同時又

比Fortran速度更快的數值計算環境。通常,用C++所寫出的數值程序,比 Fortran慢20%左右,因此

Blitz++正是要改掉這個缺點。方法是利用C++的template技術,程序執行甚至可以比Fortran更快。

Blitz++目前仍在發展中,對于常見的SVD,FFTs,QMRES等常見的線性代數方法并不提供,不過使用者

可以很容易地利用Blitz++所提供的函數來構建。

POOMA

參考網站:

http://www.c'>http://www.c'>http://www.c'>http://www.codesourcery.com/pooma/pooma

POOMA是一個免費的高性能的C++庫,用于處理并行式科學計算。POOMA的面向對象設計方便了快速的程

序開發,對并行機器進行了優化以達到最高的效率,方便在工業和研究環境中使用。

MTL

參考網站:http://www.osl.iu.edu/research/mtl/'>http://www.osl.iu.edu/research/mtl/

Matrix Template Library(MTL)是一個高性能的泛型組件庫,提供了各種格式矩陣的大量線性代數方面

的功能。在某些應用使用高性能編譯器的情況下,比如Intel的編譯器,從產生的匯編代碼可以看出其

與手寫幾乎沒有兩樣的效能。

CGAL

參考網站:www.cgal.org

Computational Geometry Algorithms Library的目的是把在計算幾何方面的大部分重要的解決方案和

方法以C++庫的形式提供給工業和學術界的用戶。

 

游戲開發

Audio/Video 3D C++ Programming Library

參考網站:

http://www.galacticasoftware.com/products/av/'>http://www.galacticasoftware.com/products/a

v/

AV3D是一個跨平臺,高性能的C++庫。主要的特性是提供3D圖形,聲效支持(SB,以及S3M),控制接口

(鍵盤,鼠標和遙感),XMS。

KlayGE

參考網站:http://home.g365.net/enginedev/

國內游戲開發高手自己用C++開發的游戲引擎。KlayGE是一個開放源代碼、跨平臺的游戲引擎,并使用

Python作腳本語言。KlayGE在LGPL協議下發行。感謝龔敏敏先生為中國游戲開發事業所做出的貢獻。

OGRE

參考網站:http://www.ogre3d.org'>http://www.ogre3d.org

OGRE(面向對象的圖形渲染引擎)是用C++開發的,使用靈活的面向對象3D引擎。它的目的是讓開發者

能更方便和直接地開發基于3D硬件設備的應用程序或游戲。引擎中的類庫對更底層的系統庫(如:

Direct3D和OpenGL)的全部使用細節進行了抽象,并提供了基于現實世界對象的接口和其它類。

 

線程

C++ Threads

參考網站:http://threads.sourceforge.net/

這個庫的目標是給程序員提供易于使用的類,這些類被繼承以提供在Linux環境中很難看到的大量的線

程方面的功能。

ZThreads

參考網站:http://zthread.sourceforge.net/

一個先進的面向對象,跨平臺的C++線程和同步庫。

 

序列化

s11n

參考網站:http://s11n.net/

一個基于STL的C++庫,用于序列化POD,STL容器以及用戶定義的類型。

Simple XML Persistence Library

參考網站:http://sxp.sourceforge.net/

這是一個把對象序列化為XML的輕量級的C++庫。

 

字符串

C++ Str Library

參考網站:http://www.utilitycode.com/str/'>http://www.utilitycode.com/str/

操作字符串和字符的庫,支持Windows和支持gcc的多種平臺。提供高度優化的代碼,并且支持多線程環

境和Unicode,同時還有正則表達式的支持。

Common Text Transformation Library

參考網站:http://cttl.sourceforge.net/

這是一個解析和修改STL字符串的庫。CTTL substring類可以用來比較,插入,替換以及用EBNF的語法

進行解析。

GRETA

參考網站:http://research.microsoft.com/projects/greta/

這是由微軟研究院的研究人員開發的處理正則表達式的庫。在小型匹配的情況下有非常優秀的表現。

綜合

P::Classes

參考網站:http://pclasses.com/

一個高度可移植的C++應用程序框架。當前關注類型和線程安全的signal/slot機制,i/o系統包括基于

插件的網絡協議透明的i/o架構,基于插件的應用程序消息日志框架,訪問sql數據庫的類等等。

ACDK - Artefaktur Component Development Kit

posted @ 2009-07-11 18:41 chaosuper 閱讀(125) | 評論 (0)編輯 收藏

一:首先找到編譯器的目錄,例如C:\Program Files\Vc98\bin
二:使用CD命令改變當前目錄到C:\Program Files\VC98\bin下
三:使用DOS命令cl   test.cpp 編譯生成可執行文件
四:直接運行可執行文件

posted @ 2009-07-08 20:48 chaosuper 閱讀(842) | 評論 (0)編輯 收藏

http://www.vim.org

www.5dlinux.com

www.linux521.com

www.linuxforum.net(國內最高水平GNU站點)、
http://www.chinaunix.net/(中國最大的Unix技術社區)
Linux伊甸園http://www.linuxeden.com/
中國Linux公社http://www.linuxfans.org/nuke/index.php。

著名網站 鏈接:
www.GNU.org
www.Debian.org
www.tldp.org
www.Php.net
www.Apache.org
www.CPAN.org
www.Mysql.com
www.Proftpd.org
www.kde.org
www.postfix.org
www.Samba.org
www.Xfree86.org

posted @ 2009-06-26 22:50 chaosuper 閱讀(84) | 評論 (0)編輯 收藏

    
     今天,暑假的實習的安排出來了,下個星期就要去湖南省測評中心去實習了.

     今天,我決定要每天堅持自己寫寫日記,記得我好久沒寫過作文了,現在都有點寫不好一整篇文章了.于是我決定從今天開始,經常寫寫日記,謝謝技術博客,提高自己的寫作能力.英文寫作也是一樣,雖然說我的四級,六級都有500分上,但是到現在來,真正寫作和應用的水平很差勁了.

     我下載了一些學習C/C++編程語言,數據結構和算法,Windows編程和Linux編程的書籍.等著沒事的時候看看,多學習,少看電影,玩游戲.做無聊的事.

     雖然下定決心不考研了,但是計算機專業和數學專業,英語知識是一直要學習的,還有其他的方方面面.不管到什么時候,都不能丟掉學習,只有學習才能讓自己處在不敗之地.

    
    
    
posted @ 2009-06-24 23:39 chaosuper 閱讀(115) | 評論 (0)編輯 收藏

僅列出標題
共12頁: First 4 5 6 7 8 9 10 11 12 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区二区视频免费观看| 亚洲精品日韩综合观看成人91| 午夜精品成人在线视频| 亚洲精品久久| 亚洲国产精品国自产拍av秋霞| 欧美jizz19hd性欧美| 毛片一区二区| 亚洲国产经典视频| 一区二区三区自拍| 在线观看一区视频| 亚洲娇小video精品| 99re6热只有精品免费观看 | 99精品福利视频| 亚洲日韩欧美视频一区| 夜夜嗨av一区二区三区四区 | 国产女主播一区二区三区| 国产精品一区二区欧美| 国产在线麻豆精品观看| 亚洲国产精品999| 亚洲素人一区二区| 欧美一区二区大片| 蜜臀av国产精品久久久久| 亚洲高清不卡| 亚洲女性裸体视频| 美女91精品| 国产精品久久久久久久久久尿| 国产视频观看一区| 亚洲久久成人| 久久资源av| 在线亚洲一区二区| 久久久午夜视频| 国产精品国内视频| 亚洲国产欧美精品| 欧美一级久久久| 91久久国产精品91久久性色| 午夜视频精品| 欧美日韩视频在线第一区| 国产农村妇女精品一二区| 亚洲日韩中文字幕在线播放| 久久精品免费播放| 亚洲精品一区在线观看| 欧美中文在线视频| 欧美视频网站| 亚洲人被黑人高潮完整版| 欧美资源在线| 一本色道久久综合狠狠躁的推荐| 久久人91精品久久久久久不卡| 国产精品国产a级| 亚洲精品视频免费观看| 久久蜜桃资源一区二区老牛 | 亚洲欧美日韩一区二区| 欧美国产极速在线| 久久精品国产亚洲a| 国产精品亚洲综合天堂夜夜| 在线亚洲免费视频| 亚洲国产日韩欧美在线图片| 久久精品欧美日韩| 亚洲欧美日韩人成在线播放| 欧美在线中文字幕| 久久噜噜噜精品国产亚洲综合| 亚洲欧洲偷拍精品| 久久精品国产清自在天天线 | 在线免费观看日韩欧美| 久久狠狠亚洲综合| 亚洲欧美日韩精品久久久| 国产精品成人播放| 亚洲女爱视频在线| 亚洲视频欧洲视频| 欧美午夜激情在线| 亚洲欧美在线一区二区| 中文一区二区| 国产精品一区二区在线观看网站| 亚洲欧美电影在线观看| 99视频在线观看一区三区| 欧美美女视频| 亚洲欧美成人精品| 亚洲欧美在线另类| 国产原创一区二区| 欧美国产一区二区在线观看| 母乳一区在线观看| 99精品热视频| 亚洲一级免费视频| 国产综合欧美在线看| 久久婷婷麻豆| 欧美精品18videos性欧美| 一区二区三区国产在线观看| 中日韩美女免费视频网址在线观看 | 国产精品xxx在线观看www| 西西人体一区二区| 久久精品网址| 一本久道综合久久精品| 亚洲在线免费| 激情亚洲网站| 日韩午夜激情av| 国产亚洲精品久久飘花| 欧美黑人在线观看| 国产精品女主播在线观看| 久久一区二区三区四区五区| 欧美日韩精品免费观看视频完整| 欧美亚洲一区二区三区| 久久天天狠狠| 亚洲欧美日韩中文视频| 久热精品视频在线免费观看 | 亚洲精品美女在线观看播放| 妖精视频成人观看www| 国产视频在线观看一区二区三区| 亚洲电影有码| 国产日本亚洲高清| 亚洲精品欧美在线| 一区二区三区在线视频播放| 一本久道久久综合婷婷鲸鱼| 在线观看欧美成人| 亚洲欧美国产日韩中文字幕| 日韩视频二区| 国产精品日韩精品欧美在线 | 欧美丝袜一区二区| 久久久久久黄| 欧美视频在线观看 亚洲欧| 久久综合九色九九| 国产精品福利在线| 亚洲黄色天堂| 亚洲缚视频在线观看| 午夜精品理论片| 在线亚洲精品福利网址导航| 老**午夜毛片一区二区三区| 欧美一区二区精美| 欧美视频在线观看免费| 亚洲国内在线| 亚洲精品一区二区在线| 久久免费视频在线| 久久久国产精品一区二区中文| 欧美色大人视频| 亚洲人成人一区二区在线观看| 激情综合中文娱乐网| 欧美一区日韩一区| 欧美伊人久久| 国产精品久久久久影院色老大 | 国产精品毛片高清在线完整版| 欧美成人一区二区三区在线观看| 国产区二精品视| 亚洲性人人天天夜夜摸| 亚洲一区精品视频| 欧美三级第一页| 夜夜嗨av一区二区三区四区| 正在播放亚洲一区| 欧美日韩一区在线观看视频| av成人免费在线观看| 一区二区三区毛片| 欧美日韩亚洲91| 亚洲视频电影图片偷拍一区| 亚洲欧美国产毛片在线| 国产精品国产成人国产三级| 亚洲影视在线| 久久综合中文色婷婷| 在线播放一区| 免费高清在线视频一区·| 欧美成人69av| 99视频日韩| 国产精品国产三级欧美二区 | 亚洲视频在线观看一区| 欧美日韩三级| 亚洲午夜高清视频| 久久福利毛片| 久久福利毛片| 欧美91大片| 亚洲乱码国产乱码精品精可以看| 欧美激情1区2区3区| 亚洲免费av电影| 亚洲视频福利| 韩国女主播一区| 欧美承认网站| 正在播放亚洲| 美女在线一区二区| 亚洲免费成人| 国产一区二区三区日韩| 激情综合在线| 欧美成人tv| 久久精品亚洲热| 精品不卡一区| 欧美日本成人| 欧美亚洲一区二区三区| 欧美国产一区二区| 亚洲欧美在线免费| 亚洲激情av| 国产伦精品一区二区三区视频孕妇| 久久久久久久久久码影片| 亚洲黑丝在线| 久久黄色影院| 在线视频欧美一区| 亚洲成人资源网| 国产精品成人一区二区三区吃奶 | 欧美极品在线播放| 亚洲欧美日韩在线不卡| 亚洲二区在线| 久久久久九九视频| 亚洲香蕉成视频在线观看| 激情久久婷婷| 国产农村妇女毛片精品久久莱园子| 蘑菇福利视频一区播放| 久久久欧美一区二区|