在這一章的內容中,集中介紹了泛型指標 iterator等泛型程式設計風格,說白了就是讓我們的程式有更好的通用性,在這章的內容中,比較不好理解的是函式物件 function object,這裡我給出兩個大佬的部落格,看完之後可以有初步的了解
下面給出課後習題的一些做法,本人c++小白,歡迎指點,編譯環境 vs2015
1. 寫乙個讀取文字檔案的程式,將檔案中的每個單字存入map。map的key是單字,value是單字在文字檔案**現的次數。再定義乙份由「排除字眼」組成的set,其中包含諸如a, an , the, or, and ,but之類的單字。將某個單字放入map之前,先確定該單字並不在set中。一旦文字檔案讀取完畢,請顯示乙份單子清單,並顯示各單字出現的次數。你甚至可以再加以拓展,在顯示單字之前,允許使用者查詢某個單字是否出現於文字檔案中
// chapter01.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include#include#include#include#include#includeusing namespace std;
void show(string c)
int main()
else
words[word]++;
} cin >> cin_word;
while (cin_word.compare("0")!=0)
else
cin >> cin_word;
} map::iterator ite = words.begin();
for (;ite != words.end();ite++) }
return 0;
}
2.讀取文字檔案內容,和練習3.1一樣,並將內容儲存於vector中,以字串長度為依據,對vector排序。定義乙個函式物件並傳給sort,這個函式物件接受兩個字串,當第乙個字串的長度小於第二字串的長度時,返回true.最後列印排序後的vector。
// chapter01.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include#include#include#include#includeusing namespace std;
class mysort
else
sort(vec.begin(), vec.end(), my);
for_each(vec.begin(), vec.end(), myshow); }
return 0;
}
3. 定義乙個map,以家庭姓氏為key,value為家庭所有小孩的名字。令此map至少容納六筆資料,允許使用者根據姓氏來查詢,並得以列印map內的每一筆資料
// chapter01.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include#include#include#include#includeusing namespace std;
void my_show(string name)
int main()
else
} return 0;
}
這裡在結束輸入的時候是用了ctrl+z 關於這個操作的原理,我參考了其他大佬的部落格
4. 利用 istream_iterator 從標準輸入裝置讀取一連串整數,利用 ostream_iterator 將其中的奇數寫入某個檔案,每個數值之間以空格分隔。再利用ostream_iterator 將偶數寫到另乙個檔案,每個數值單獨放到一行中
// chapter01.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include#include#include#include#includeusing namespace std;
int main()
else
} return 0;
}
OpenGl學習第三章
上個星期學習了下金字塔的繪製,然後這週有看了看正方體的繪製,通過依次繪製6個面來繪製正方體,整體 跟上次的金三角沒有區別,只是座標點,顏色,已經繪製的 有點區別,上 看看 這是座標 private static float cubevertexcoords new float new float n...
C Primer Plus 第三章 學習
oop的本質是設計並拓展自己的資料型別,即讓型別與資料匹配。c 內建的型別,分為兩組 基本型別,復合型別。基本型別 整數,浮點數 復合型別 陣列,字串,指標和結構。標識儲存的資料的方法 使用變數 3.1簡單變數 程式必須記錄三個基本屬性 1.資訊將儲存在 2.要儲存什麼值 3.儲存何種型別的資訊 宣...
C Primer學習(第三章)
初始化string物件的方式 string s1 string s2 s1 string s2 s1 string s3 value string s3 value string s4 n,c 使用getline讀取一整行 int main int b begin a int e end a 對陣列...