c/c++语言基础知识
文章平均质量分 81
猕员桃
给你的生活舔砖java
展开
-
智能指针实现
智能指针实现#include <iostream>#include <memory>using namespace std; template<typename T> class SmartPointer { private: T* _ptr; int* _count; public: SmartPointer(T* ptr = nullptr) : _ptr(ptr) {原创 2021-08-18 09:19:22 · 220 阅读 · 0 评论 -
设计模式
设计模式六大原则:1、单一职责原则:书上比较官方的说法是 “就一个类而言,应该只有一个引起他变化的原因。”。其实直白点说就是一个类的功能尽量简单,避免一个类中封装过多的功能方法,在设计类的时候避免让它太过庞大。2、开闭原则:对扩展开放,对修改关闭。也就是说,当需求变更的时候,尽量不要去修改原有代码,而是去增加新的代码。3、里氏代换原则:在程序中,子类可以替换掉父类并且不会对程序的运行结果造成影响。这里一个比较典型的例子就是鸵鸟是鸟吗?在生物学中,鸵鸟是鸟的一种,但是在面向对象的世界里,鸵鸟不是鸟。因原创 2021-01-22 23:18:40 · 102 阅读 · 0 评论 -
STL
STL1.容器(Container)容器作为STL的最主要组成部分--容器,分为向量(vector),双端队列(deque),表(list),队列(queue),堆栈(stack),集合(set),多重集合(multiset),映射(map),多重映射(multimap)。STL map和hash_map的资料,总结笔记如下:1、STL的map底层是用红黑树实现的,查找时间复杂度是log(n);2、STL的hash_map底层是用hash表存储的,查询时间复杂度是O(1);3、什么时候用map原创 2021-01-22 12:45:34 · 188 阅读 · 0 评论 -
C++11
C++111. 智能指针看的是 STL里面的智能指针 , std::下面的. auto_ptr , unique_ptr , shared_ptr , weak_ptr.C++ 可以控制堆区空间, 手动申请, 手动释放. 遗忘 , 没释放 , 后果, 内存泄露. 可不可以自动释放? --> 智能指针.C++ 封装类, 就是对象, 生命周期结束时, 触发析构, 自然回收空间. 使用智能指针, 可以一定程度上方便编程 , 避免手动回收.auto_ptr , unique_ptr , shared原创 2021-01-22 11:42:33 · 143 阅读 · 0 评论 -
C++基础知识
C++基础知识c++ 是面向对象的编程语言(考虑扩展维复用)三大特性 : 封装 继承 多态。C++ 类和结构体的区别。主要体现在默认访问属性上。类默认访问属性为private结构体默认访问属性为public2. 类 – 定义: 具有相同行为(函数 )和属性(成员变量 )的个体(对象)的抽象。类系统生成的默认无参构造是公有的.2.1 类的成员的访问属性。public protected private 默认 --> private 外部不可见 只能在本类内可见2.2.1 构造函数 函数原创 2021-01-22 10:48:43 · 246 阅读 · 0 评论 -
C语言基础知识要点2
C语言基础知识要点21.地址和指针地址是由八个十六进制的数组成的 0x00000001 -0xffffffff地址不额外占用空间地址 取地址 取到的是首字节的地址间接引用 +地址指针 :指针的本质 储存地址的变量如何去定义一个指针 要指向的变量类型++变量名如何判断一个变量的类型 去掉变量名剩下的就是类型如何判断一个指针指向的类型 去掉变量名 再去掉一个 剩下的额就是指向的类型对指针进行比较运算 (+ - )指针偏移 指针的间接引用 偏移 取决于指向的类型原创 2021-01-17 12:04:01 · 222 阅读 · 0 评论