#include #include #include #include #include #include #include using namespace std;
class textquery
; void read_file(ifstream &is)
string text_line(line_no) const;
setrun_query(const string &) const;
private:
vectorlines;
map< string, set> word_map;
void store_file(ifstream &is);
int build_map();
};void textquery::store_file(ifstream &is)
int textquery::build_map()
return 0;
}string textquery::text_line(line_no line) const
else }
int main(void)
{ textquery tq;
setset;
//這裡定義乙個普通set型別都會報:typename is not allowed
//seta;
ofstream out;
ifstream in;
string str2("i love banana");
out.open("temp");
out<::iterator setiter;
//for(setiter=set.begin(); setiter!=set.end(); setiter++)
//cout<<*setiter<
這是c++primere 4上的乙個例子,拿來寫了一下,發現自己還真會遇到不少問題,不過寫完後發現真的是對容器的操作有了更進一步的理解。
但是我的程式遇到了乙個問題就是不能定義乙個set容器或者迭代器在main裡面,一定義就會報錯,因此程式最後想通過迭代器輸出set容器的結果便不了了之,通過vs除錯發現set裡面的內容是正確的。
希望高手給予解答。
C 關聯容器 桶例項講解
對於有序容器 map multimap set multiset 關鍵字型別必須定義元素比較的方法。預設使用運算子來比較。在自定義運算子時,必須定義為嚴格弱序 strict weak ordering 即小於等於,性質如下 兩個關鍵字不能同時小於等於對方。如果k1小於等於k2,k2小於等於k3,那麼...
關聯容器map用法例項
三種插入方式 2.1.1用insert方法插入 pair 物件 enummap.insert pair 1,one 2.1.2 用insert方法插入 value type 物件 enummap.insert map value type 1,one 2.1.3 用陣列方式插入值 enummap 1...
c 關聯容器
1.map建構函式 mapm 普通初始化 mapm m2 複製初始化法 mapm b,e 另乙個map物件的迭代器初始化法 注意 1 鍵值型別必須定義 操作符號,資料訪問時需要呼叫。2 m aaa 下表訪問方式導致的結果是,若鍵對應的值不存在,則插入該鍵值對應的預設值。2.map插入操作 m.ins...