摘要: 一、序列式容器 1、初始化方式 创建无参对象 vector<int> vec; 传count个value vector<int> vec(10, 2); 迭代器范围 int arr[10] = {1, 3, 5, 7, 9, 8, 6, 4, 2, 0}; vector<int> vec(arr, 阅读全文
posted @ 2023-04-04 11:31 晚安地球人1 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 一、讲讲STL的六大组件 1、容器:存放数据的各种数据结构,STL 容器是⼀种 class template 2、迭代器:为了访问容器中的元素,是一种泛型指针,迭代器是⼀种将 operator *, operator ->, operator++, operator-- 等指针相关操作予以重载的cl 阅读全文
posted @ 2023-04-03 23:53 晚安地球人1 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 一、设计思路 数据结构: 1、读取文件时,要记住文件的每一行,并且要将每一行分解为独立的单词 vector<string> vec; istringstream 2、输出时提供每个单词与其关联的行号,且用map将单词与行号关联 map<string, set<int>> m_dit; 类的设计 1、 阅读全文
posted @ 2023-02-07 20:54 晚安地球人1 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 一、实现log4cpp的封装,使其可以像printf一样使用,测试用例如下: 思路:使用可变模板参数,最终达到的效果是在使用 LogInfo、LogError、LogWarn、LogDebug时候可以传递任意类型、任意个数的参数进行, 按照自己的需要进行日志记录。 1 void test() 2 { 阅读全文
posted @ 2023-02-01 19:49 晚安地球人1 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 一、编程题--统计圣经出现的单词以及词频 统计一篇英文(The_Holy_Bible.txt)文章中出现的单词和词频,输入:某篇文章的绝对路径;输出:词典(词典中的内容为每一行都是一个“单词 词频”) 词典的存储格式: 1 | a 66 | 2 | abandon 77 | 3 | public 8 阅读全文
posted @ 2023-01-29 17:14 晚安地球人1 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 一、任务与思路 使用tinyxml解析rss文件,使用std::regex(正则表达式)去除html标签,并生成一个pagelib.txt,格式如下 <doc> <docid>1</docid> <title>...</title> <link>...</link> <description>... 阅读全文
posted @ 2023-01-27 21:07 晚安地球人1 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 测试一、虚继承与继承的区别 1.1 单个继承,不带虚函数 1>class B size(8): 1> + 1> 0 | + (base class A) 1> 0 | | _ia //4B 1> | + 1> 4 | _ib //4B 有两个int类型数据成员,占8B,基类逻辑存在前面 1.2、单个 阅读全文
posted @ 2023-01-26 22:19 晚安地球人1 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 一、std::string 的底层实现 1、深拷贝 1 class String{ 2 public: 3 String(const String &rhs):m_pstr(new char[strlen(rhs) + 1]()){ 4 } 5 private: 6 char* m_pstr; 7 阅读全文
posted @ 2023-01-25 17:40 晚安地球人1 阅读(326) 评论(0) 推荐(0) 编辑
摘要: vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新的元素。vector的实现技术,关键在于对大小的控制以及重新配置时的数据移动效率。 一、vector的数据结构 vector采用线性连续空间,以两个迭代器start和finish分别指向配置得来的连续空间中目前已被使用的范围, 阅读全文
posted @ 2022-04-24 15:33 晚安地球人1 阅读(1552) 评论(0) 推荐(0) 编辑