摘要: 练习11.9 定义一个map,将单词与一个行号的list关联,list中保存的是单词所出现的行号 void change(string&a) { if(isupper(a[0])) a[0]=tolower(a[0]); if(a[a.size()-1]==','||a[a.size()-1]==' 阅读全文
posted @ 2022-07-28 21:33 yddl 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 练习11.1 描述map和vector的不同 ::容器中的元素是按照关键字值储存的,关键字值与元素数据建立起对应关系,这就是“关联”的含义。底层数据结构是红黑树,哈希表等,可高效实现按关键字值查找,添加,删除元素等操作,且没有下标上限这一说法,如果在map里没有该下标,会自动生成一个下标命名来进行操 阅读全文
posted @ 2022-07-27 21:32 yddl 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 练习10.38 列出5个迭代器类别,以及每类迭代器所支持的操作 ::input_iterator输入迭代器可以读取序列中的元素,支持比较两个迭代器的1. 比较两个迭代器是否相等(==、!=)。2. 前置和后置递增运算(++)(意味着它是单向移动的)。3. 读取元素的解引用运算符(*)。只能读元素,也 阅读全文
posted @ 2022-07-24 16:00 yddl 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 练习10.26 解释三种迭代器的不同之处 ::back_inserter创建一个调用push_back的迭代器,不会打乱原有元素的顺序,inserter创建一个调用insert的迭代器,不会打乱插入位置之前包括插入位置的元素的顺序, front_inserter创建一个调用push_front的迭代 阅读全文
posted @ 2022-07-23 16:40 yddl 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 练习10.19 用stable_partition重写前一题的程序,与stable_sort类似,在划分后的序列中维持原有元素的顺序 void biggies(vector<string> &a,vector<string>::size_type sz) { elimDups(a); stable_ 阅读全文
posted @ 2022-07-22 19:02 yddl 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 练习10.1 头文件algorithm中定义了一个名为count的函数,它类似find,接受一对迭代器和一个值作为参数。count返回给定值在序列中出现的次数。编写程序 读取int序列存入vector中,打印有多少个元素的值等于给定值 1 #include<vector> 2 #include<io 阅读全文
posted @ 2022-07-21 20:19 yddl 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 练习9.41 编写程序,从一个vector<char>初始化一个string。 1 #include<iostream> 2 #include<vector> 3 #include<string> 4 int main() 5 { 6 std::cout<<"hello,sir"<<std::end 阅读全文
posted @ 2022-07-20 13:56 yddl 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 下面这段是正确使用,看书有点迷糊,什么友元声明前向声明搞糊涂了,捋捋,当声明友元的时候,如果并不用它,可以不用include头文件也不用前向声明,原因不太清楚,日后补上 Screen.h class Screen{ //友元 friend class Window_mgr; 但是在其他文件要想使用定 阅读全文
posted @ 2022-07-15 09:59 yddl 阅读(22) 评论(0) 推荐(0) 编辑
摘要: inline函数就是在每个调用点上展开,展开什么呢,可以理解成展开函数体,有点define宏定义替换的味道,没错这感觉是对的,作为初学者的我对多文件编译理解不深,昨天硬是被inline折腾麻了,报错的undefine reference网上也没有是因为inline造成的,让我抓破头也不晓得哪出错,终 阅读全文
posted @ 2022-07-15 07:40 yddl 阅读(27) 评论(0) 推荐(0) 编辑