摘要: 动态内存 shared_ptr版本 c++ shared_ptr gen_vector(const size_t &size) { return make_shared (size, 0); } void get_data(shared_ptr ptr) { auto iter = ptr begi 阅读全文
posted @ 2021-12-02 23:51 下夕阳 阅读(27) 评论(0) 推荐(0) 编辑
摘要: c++ 动态内存 StrBlob.h StrBlob.cpp 感觉StrBlobPtr就是强行使用weak_ptr,并没有实际的用途,除非StrBlob对象销毁了,shared_ptr指针data销毁了,weak_ptr指针w_ptr的check操作才会起到作用,但是不明白为什么不直接使用StrBl 阅读全文
posted @ 2021-12-02 23:47 下夕阳 阅读(55) 评论(0) 推荐(0) 编辑
摘要: TextQuery程序 我写的第一个版本 返回的是map这个数据量很大,效率低下。 TextQuery.h TextQuery.cpp 这里用到了set{line_cnt}来构造一个匿名的对象,赋值给map。但是不能用set (line_cnt),因为set没有有参数的构造函数,有参数的也是拷贝的那 阅读全文
posted @ 2021-12-02 23:45 下夕阳 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 动态内存 动态数组 习题12.23 c++ //连接字符串到动态数组 char c = new char "20" ; char a[] = "hello "; char b[] = "world"; strcopy(c, a); strcopy(c+strlen(a), b); cout 阅读全文
posted @ 2021-12-02 23:41 下夕阳 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 拷贝构造函数、拷贝运算符、析构函数 拷贝构造函数、拷贝运算符、析构函数 定义行为像值的类 class HasPtr{ public: HasPtr(const string &s = string()):ps(new string(s)), i(0) { cout<<"HasPtr(const st 阅读全文
posted @ 2021-12-02 23:38 下夕阳 阅读(94) 评论(0) 推荐(0) 编辑
摘要: struct/enum/union加typedef与不加typedef 匿名结构体 struct { int a; int b; } v; // 这里表示定义了一个结构体的变量v,且结构体类型没有名字,后续不能再定义结构体,除非又把结构体写一遍。 有名字的结构体 - 直接定义变量 struct st 阅读全文
posted @ 2021-12-02 23:34 下夕阳 阅读(242) 评论(0) 推荐(0) 编辑
摘要: c++ StrVec等效vector\的类 知识点 1. 静态成员变量要在类外定义和初始化 2. allocator类是使用和uninitialized_copy的配合使用,实现string空间的分配和strings数据的拷贝(拷贝string的时候调用的string的拷贝构造函数,string的拷 阅读全文
posted @ 2021-12-02 23:28 下夕阳 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 子类与父类之间的类型转换 先给一段代码 1、对象类型不存在类型转换 2、子类的指针或引用转为父类的指针或引用:子类 父类 不是子类的指针或引用就能转为父类的指针或引用,前提条件是子类的指针或引用在当前域(域内:类体类 成员函数和友元函数 域外:类体外)能够访问访问父类的public的成员,因为父类对 阅读全文
posted @ 2021-12-02 23:22 下夕阳 阅读(2835) 评论(0) 推荐(0) 编辑
摘要: 汇编代码看内存分配 (1). 程序运行时分为存储区域分为 |存储区域 | 存储内容 | extra | | | | | |代码区 |存放代码指令,包括除字符串常量的字面值 | | |静态存储区 |存放静态变量和全局变量 |执行main之前就分配好了,系统回收| |字符串常量区 |存放字符串常量 |执 阅读全文
posted @ 2021-12-02 23:22 下夕阳 阅读(239) 评论(0) 推荐(0) 编辑
摘要: c++ 移动与拷贝 阅读全文
posted @ 2021-12-02 23:20 下夕阳 阅读(108) 评论(0) 推荐(0) 编辑
摘要: c++ Message与Folder 拷贝 析构(没有动态空间的类) 1、两个类里边分别保存一个对方的set表,当前类有拷贝或者销毁时需要更新另一个类的set表。 2、两个类都需要访问对方的private成员,所以两互相为友元,这样的两个类必须声明在同一个".h"文件中否则会导致先编译的类使用了使用 阅读全文
posted @ 2021-12-02 23:17 下夕阳 阅读(101) 评论(0) 推荐(0) 编辑
摘要: string类 将StrVec类的一些变量进行全局替换就能得到String类 1、string替换为char 2、str替换为c,strs替换为c 3、StrVec替换为String 4、 include \替换为 include\ StrVec和String就是类似的 1、都是保存指向元素的指针, 阅读全文
posted @ 2021-12-02 23:10 下夕阳 阅读(62) 评论(0) 推荐(0) 编辑
摘要: c++ 文本处理 1、使用sstream版本 (1)功能:截取第一列为1以后的数据,如下图,截取第5行(包括第5行)以后的数据,前面4行数据丢弃。 (2)代码:textProc.cc c++ include include include include using namespace std; i 阅读全文
posted @ 2021-12-02 23:01 下夕阳 阅读(205) 评论(0) 推荐(0) 编辑