![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
C++总结复习
HumbleSy
濡湿我鬃毛的,岂只是夜晚的露水?
展开
-
观察者模式
观察者模式什么是观察者模式在对象之间定义一种一对多的关系,当某个对象状态改变时,与他存在依赖关系的所有对象都能收到通知并自动进行更新解决什么问题当一个对象改变需要通知其他对象,但是不希望与其耦合优势解耦合主题接口只依赖于观察者接口,修改时,遵从开闭原则,弊端当存在大量观察者对象时将会耗费大量时间通知被观察者只有在所有观察者通知返回后才能继续执行,任何一个通知都有可能堵塞被观察者对象当观察者与被观察者如果有循环依赖,可能诱发隐患示例enum Event{ Event_ONE,原创 2021-05-30 13:56:24 · 173 阅读 · 0 评论 -
C++函数执行时间测试
C++函数执行时间测试#include <iostream>#include <ctime>using namespace std;int main(){ clock_t start, finish; start = clock(); //function() finish = clock(); cout << "时间为:" << finish - start << "ms" << endl;原创 2021-03-28 10:17:50 · 148 阅读 · 0 评论 -
C++内存管理
C++内存管理C++ 内存分区:栈、堆、全局/静态存储区、常量存储区、代码区。栈:存放函数的局部变量、函数参数、返回地址等,由编译器自动分配和释放。堆:动态申请的内存空间,就是由 malloc 分配的内存块,由程序员控制它的分配和释放,如果程序执行结束还没有释放,操作系统会自动回收。全局区/静态存储区(.bss 段和 .data 段):存放全局变量和静态变量,程序运行结束操作系统自动释放,在 C 语言中,未初始化的放在 .bss 段中,初始化的放在 .data 段中,C++ 中不再区分了。常量存原创 2021-03-25 14:47:04 · 201 阅读 · 0 评论 -
智能指针的实现:计数
智能指针的实现:计数Shared_ptr智能指针自动释放动态内存shared_ptr允许多个指针指向同一个对象 每个shared_ptr都有一个计数器当进行拷贝/赋值时计数器进行++ 当被销毁时(例如局部变量超出作用域)计数器-- 当计数器为0时 自动释放内存空间.unique bool类型 如果.use_count()为 1,返回true.use_count() 返回与该指针共享对象的指针数量 计数器分析构造函数 传入指针进行初始化析构函数 递减计数器 当计数器为0时 de原创 2021-03-17 09:29:47 · 795 阅读 · 0 评论 -
第二章 变量与基本类型
2.1基本内置类型C++定义了 包括算术类型和空类型(void)算术类型包含了 字符 整型数 布尔值和浮点数 分为两种类型 整型(包括字符和浮点型)和浮点型。算术类型在不同机器中尺寸有所区别(类型数据所占比特的最小值)函数不返回任何值时使用空类型作为返回类型C++ 算数类型类型含义最小尺寸bool布尔类型未定义char字符8位wchar_t宽字符16位char16_tUnicode字符16位char32_tUnicode字符3原创 2020-12-20 10:49:03 · 195 阅读 · 1 评论