随笔分类 -  C++学习

摘要:内存分区模型 代码区:存放函数体的二进制代码,由操作系统进行管理; 全局区:存放全局变量和静态变量以及常量; 栈区:由编译器自动分配释放,存放函数的参数值、局部变量等; 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。 程序运行前的区域: 代码区: 存放CPU执行的机器指令,代码 阅读全文
posted @ 2022-05-17 15:35 Stella77 阅读(236) 评论(0) 推荐(0)
摘要:虚函数 非虚函数:常规的函数,在继承时不希望子类重写(override) 如int objectID() const; 虚函数:前面加了关键字“virtual”的函数,在继承时希望子类重写,但已有默认定义 如virtual void error(const std::string& msg); 纯虚 阅读全文
posted @ 2022-04-13 17:43 Stella77 阅读(74) 评论(0) 推荐(0)
摘要:composition 复合 has的关系,在一个类里有另一个类,如下: template <class T> class queue { ... protected: deque<T> c; public: // 以下完全利用c的操作函数完成 bool empty() const { return 阅读全文
posted @ 2022-03-29 20:34 Stella77 阅读(66) 评论(0) 推荐(0)
摘要:基本结构 #ifndef _MYSTRING_ // 防卫式声明 #define _MYSTRING_ class String { ... } String::function (...) ... Global-function (...) ... 要完成的功能: 1、无参构造和有参构造 2、拷贝 阅读全文
posted @ 2022-03-29 17:19 Stella77 阅读(135) 评论(0) 推荐(0)
摘要:static 1、data members **非静态数据:**属于对象,有几个对象就有几份数据; **静态数据:**不属于对象,只有一份,单独在内存空间里; 2、member functions **非静态函数:**有this指针 **静态函数:**没有this指针,只能处理静态数据 用stati 阅读全文
posted @ 2022-03-29 17:18 Stella77 阅读(53) 评论(0) 推荐(0)
摘要:Stack(栈) 栈是存在于某作用域的一块内存空间(memory space)。比如当调用函数,函数本身会形成一个stack用来放置它所接收的参数以及返回地址,局部变量(函数本体内声明的任何变量,及其所使用的内存块)。 Heap(堆) System heap,由操作系统提供的一块global内存空间 阅读全文
posted @ 2022-03-25 16:02 Stella77 阅读(86) 评论(0) 推荐(0)
摘要:头文件与类的声明 标准库以头文件的形式 存在,只需要include进去就好#include <*.h> 头文件的布局: #ifndef __complex__ #define __complex__ ******* ##endif class的布局:header+body 构造函数 inline函数 阅读全文
posted @ 2022-03-22 20:31 Stella77 阅读(94) 评论(0) 推荐(0)