C++ 自學筆記暫存
const sting & transform(const string &s ,const map&m){
//map容器在這個程式中實際的作用;這也就是整個程式的核心(heart)部分
auto map_it=m.find(s);
//如果在map中找到要轉換的文字
if(map_it!=m.cend())
return map_it->second;//用轉換後的片語(或文字)來回傳
else
}
containers.occurs 1 time
use occurs 1 time
can occurs 1 time
examples occurs 1 time
C++中容器總共有3大類(一如迭代器有5大類的大類),其共通性為下標以取得其對應值這樣的結構,下標的運算元都是不能動的!(其實鍵值就是索引值,就是定位點定位用的點;既然「定」了當然就不能動啦,所以是唯讀的!對multi的類型來說,就是定位範圍(元素範圍),而不僅只是一個「點」(即一個元素))
class Message
{
friend class Folder;
public:
//會直接將floder物件內的set初始化為空的容器
explicit Message(const std::string &str = "") : contents(str) {}
//拷貝控制管控指向這個Message物件的指標
Message(const Message &); //拷貝建構器
Message &operator=(const Message &); //拷貝指定運算子
~Message(); //解構器
//從這個Message物件所在的資料夾中新增/移除這個Message物件(新增/清除該Folder物件內的set容器內指向這則Message物件的指標元素)
void save(Folder &);
void remove(Folder &);
private:
std::string contents; //這個訊息物件Message的實際內容
std::set folders; //這則訊息(Message物件)會存在的資料夾目錄
//利用拷貝控制成員(拷貝建構器、拷貝指定運算子、解構器))寫成的工具函式(utility functions),來將這則訊息Message物件新增到Folder指標指向的位置
void add_to_Folders(const Message &);
//從folders這個set容器中的所有資料夾,移除這個訊息
void remove_from_Folders();
};
留言