上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2007-5-11, PM 4:00 星期五 文章主題: [C++][3]namespace |
|
|
namespace的中文是名稱空間
做什麼用的?讓我們分區用的。
為什麼要分區?當程式越寫越大,寫過的程式越來越多,不可避免的,就會遇到同樣名字的物件。
就好像當人口越來越多時,同樣姓名的人就會出現,當兩個同樣名字的人出現在同一個場合時,為了區分他們,我們自然會用某些方式去區隔這兩個人,像是用暱稱或者是用他們的體型特徵…
而其中一種方式,就是用居住地來分,像是台中來的王小明跟台北來的王小明,這個台中、台北,就是分區了。
事實上我們已經看過namespace,就在上一篇([2]C++入門)裡面的std::cout,前面這個std就是名稱空間,std::cout就是代表了在std中的cout。
當你要宣告一個名稱空間時,只需要採用以下形式:
代碼: | namespace 名稱空間A
{
某某函數();
}
|
這麼一來,當你要呼叫某某函數時,就要使用下面的語法:
或者是在使用到此函數之前,使用using指令,如下:
代碼: | using namespace 名稱空間A;
某某函數();
|
因此可知,當程式中用到一堆cout,而又不想每次都加上std::時,就應該在程式開頭處加上using namespace std;這段程式碼。以下是範例:
代碼: | #include <iostream>
using namespace std;
int main()
{
cout << "只要加了using namespace std;" << endl;
cout << "就不需要在cout及endl前面加上std::囉" << endl;
system( "pause" );
return 0;
}
|
|
|
回頂端 |
|
|
coka 稍嫌羞澀的路人
註冊時間: 2008-03-23 文章: 4 來自: 日本 80.34 果凍幣
|
發表於: 2010-6-5, AM 3:19 星期六 文章主題: |
|
|
if( cin.fail() )
{
cin.clear();
char ch1;
cin >> ch1;
cout << "錯誤型態的輸入!" << endl;
}
這段程式碼的意思就是,當cin發生錯誤時,將錯誤狀態清除,宣告一個字元型態變數,將出錯的那個字元讀出來(此字元沒有用處,只是為了清空cin的串流,還是得讀出來),然後輸出錯誤訊息。
---------------------------------------------------
我是初學者。
我看不太懂 變數ch1 的作用。為什麼要清空cin的串流。
什麼是串流。為什麼這樣做後、可以清空。
我不懂什麼是串流、和清空的意思、
這樣做之後清空哪裡了。
是getch()的作用嗎? |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
|
回頂端 |
|
|
peterma09 偶而上來逛逛的過客
註冊時間: 2011-10-23 文章: 5 來自: TPE 37.65 果凍幣
|
發表於: 2011-10-23, PM 8:25 星期日 文章主題: ?? |
|
|
ㄝ...這些東西應該要死背下來嗎?? _________________ 哇靠!! |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2011-10-23, PM 8:51 星期日 文章主題: Re: ?? |
|
|
peterma09 寫到: | ㄝ...這些東西應該要死背下來嗎?? |
不需要
但是背得越多,就越接近高手
背得越少,就越接近新手
唯有能夠隨時從腦海裡找出來的知識,才是真正屬於自己的知識
光是理解而不背,遇到一點小問題都必須要到處查的話,這知識就不牢靠
另外背有很多方式,不喜歡死背的話,可以想辦法活背 |
|
回頂端 |
|
|
teshuva 稍嫌羞澀的路人
註冊時間: 2011-12-08 文章: 4
62.97 果凍幣
|
發表於: 2011-12-8, PM 8:49 星期四 文章主題: |
|
|
coka 寫到: | if( cin.fail() )
{
cin.clear();
char ch1;
cin >> ch1;
cout << "錯誤型態的輸入!" << endl;
}
這段程式碼的意思就是,當cin發生錯誤時,將錯誤狀態清除,宣告一個字元型態變數,將出錯的那個字元讀出來(此字元沒有用處,只是為了清空cin的串流,還是得讀出來),然後輸出錯誤訊息。
---------------------------------------------------
我是初學者。
我看不太懂 變數ch1 的作用。為什麼要清空cin的串流。
什麼是串流。為什麼這樣做後、可以清空。
我不懂什麼是串流、和清空的意思、
這樣做之後清空哪裡了。
是getch()的作用嗎? |
cin 指的是由外部輸入的資料,如果你把字拆開來的話,它的意思是 c語言的 in
也就是輸入的意思
而getch() 的作用和cin很相似,但是有一點不一樣的是 gech() 指的是 獲取(get) 字元(ch = character),如果你輸入的是 數字 (int) 的話,就會出現錯誤
而cin則是不論你輸入的是 字元 或是 數字 它都是照單全收
因此在用c++寫程式(包含資料庫)時,如果你不確定屬性時,你就用cin比較保險些
比如說:姓名欄屬性可以設定成 文字,就可以用 getch()
yag 大大 如果我有說錯的地方請指正
我很久沒有碰c++了…呵呵呵 |
|
回頂端 |
|
|
|