While我真的很不常用....while(條件),條件為0或者不成立,則跳出迴圈,否則會執行回圈內的區域。
while(v2){ // V2 != 0 , while 為true則做迴圈區域 int temp = v2 ; v2 = v1 % v2; v1 = temp; }箭頭運算子(Arrow, ->)
(*p).foo; // 提領p取得一個物件,然後擷取其中名為foo的成員 p->foo; // 等同上面作法
輸出入運算子(IO, >> <<),我會忘記左右邊...
>> // 從istream讀取輸入值 << // 將輸出值寫到 ostream左值與右值...
左值(L-Value)可以放在賦值操作的左右兩側,變數永遠是左值
右值(R-Value)只可以放在賦值操作的右側,字面常數是右值,所以不能賦予東西。
if(變數)....當變數為ture或不為零的時候則執行
if(!變數)...當變數為false或0的時候則執行
int i = 0; if(i){ //假如 i = true = 1 cout << "i!=0" <<endl; //i=0=false 所以不執行這個 }else{ cout << "i=0" <<endl; //顯示這個 } if(!i){ //假如 i = false = 0 cout << "i=0" <<endl; }else{ cout << "i!=0" <<endl; }local.global.static這三個東西的特性...
輸出結果:
[foo1] local: 1, static: 1, global: 1
[foo2] local: 1, static: 1, global: 2
[foo1] local: 1, static: 2, global: 3
[foo2] local: 1, static: 2, global: 4
using namespace std; int globalVar; void foo1() { int localVar = 0; static int staticVar = 0; localVar++; staticVar++; globalVar++; printf("[foo1] local: %d, static: %d, global: %d\n", localVar, staticVar, globalVar); } void foo2() { int localVar = 0; static int staticVar = 0; localVar++; staticVar++; globalVar++; printf("[foo2] local: %d, static: %d, global: %d\n", localVar, staticVar, globalVar); } int main(int argc, char *argv[]) { foo1(); foo2(); foo1(); foo2(); system("PAUSE"); return EXIT_SUCCESS; }