第十七章 17 1 1節練習

2021-06-26 03:59:18 字數 912 閱讀 3803

練習17.1

定義乙個儲存三個int值的tuple,並將其成員分別初始化為10、20和30。

解答:

#include #include int main()

練習17.2

定義乙個tuple,儲存乙個string、乙個vector和乙個pair。

解答:

#include #include #include #include #include int main(), );

std::cout << "tuple0 elements:" << std::endl;

std::cout << std::get<0>(tuple0) << std::endl;

std::cout << std::get<1>(tuple0).at(0) << std::endl;

std::cout << std::get<1>(tuple0).at(1) << std::endl;

std::cout << std::get<2>(tuple0).first << std::endl;

std::cout << std::get<2>(tuple0).second << std::endl;

}

練習17.3

重寫12.3節(第430頁)中的textquery程式,使用tupl代替queryresult類。你認為那種設計更好,為什麼?

解答:在queryresult中儲存了三個變數,查詢單詞,出現行號,輸出檔案。

這個類,整個都可以用

tuple>, std::share_ptr>> 類進行替換。

不過,對於這個元組結構,即使將std去掉也有些難於閱讀,且不支援賦值構造。

所以,個人認為,還是用易與理解的queryresult類進行記錄,比較好。

第十七章 17 1 2節練習

練習17.4 編寫並測試你自己版本的findbook函式。解答 實現參考書中實現。練習17.5 重寫findbook,令其返回乙個pair,包含乙個索引和乙個迭代器pair。解答 typedef pair size type,pair const iterator,vector const iter...

第十七章 17 3 1節練習

練習17.14 編寫幾個正規表示式,分別觸發不同錯誤。執行你的程式,觀察編譯器對每個錯誤的輸出。解答 這個就不一一枚舉出來了。如果正規表示式寫錯,在執行時程式會在編譯表示式的時候直接崩潰。練習17.15 編寫程式,使用模式查詢違反 i在e之前,除非在c之後 規則的單詞。你的程式應該提示使用者輸入乙個...

第十七章 17 3 4節練習

練習17.24 編寫你自己版本的重排 號碼格式的程式。解答 這個參考書中實現。練習17.25 重寫你的 號碼程式,使之只輸出每個人的第乙個 號碼。解答 include include include include using namespace std using namespace std re...