
C++
asdfghjklcgu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C和C++的区别
1.函数的默认值      1.自右向左依次赋予     2.不能重复赋值&am原创 2019-10-04 00:34:29 · 216 阅读 · 0 评论 -
不能被继承的类
派生对象的生成 1、调用基类构造 2、调用派生类构造友元关系 1.单向性 2.不可继承 v 3.不可传递#include <iostream>...原创 2019-03-31 23:17:05 · 483 阅读 · 0 评论 -
工厂模式
简单工厂模式 根据参数的不同返回不同的实例。当你需要什么只需要传一个正确的参数,就可以获取你所需要的对象,无需知道创建细节1、能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了。2、这个类的职责过重,如果发生意外,会影响到很多使用这个工厂的模块3、当系统中的具体产品类不断增多时候,很难避免模块功能的蔓延,对系统的维护和扩展非...原创 2019-04-05 20:26:58 · 112 阅读 · 0 评论 -
异常处理
异常处理(又称为错误处理)功能提供了处理程序运行时出现的任何意外或异常情况的方法。异常处理使用 try、catch 和 finally 关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。 异常处理通常是防止未知错误产生所采取的处理措施。异常处理的好处是你不用再绞尽脑汁去考虑各种错误,这为处理某...原创 2019-04-05 21:06:37 · 160 阅读 · 0 评论 -
模板
编译 1、定义点 编译模板头部 2、调用点 编译模板函数1、函数模板 1、函数模板 2、模板函数 3、模板实例化 4、模板的实参推演2、类模板#include <iostream>template...原创 2019-04-05 21:21:26 · 122 阅读 · 0 评论 -
类模板--》链表,栈
除了构造和析构以外的所有用到模板名称的地方都加上类型参数类模板的选择性实例化用到哪个函数实例化哪个函数#include <iostream>template<typename T>class CLink;template<typename T>class Node{public: Node(T val=T()):mdata(val),pne...原创 2019-04-08 00:28:00 · 155 阅读 · 0 评论 -
Vector
#include <iostream>template<typename T>class Vector;template<typename T>class Iterator{public: typedef Iterator<T> MyIt; Iterator (Vector<T>* pv,int idx): pvec...原创 2019-04-26 17:30:18 · 137 阅读 · 0 评论 -
STL--》容器
1.容器 1.顺序容器 vector: 矢量容器 数组 #include <vector> list: 双向链表容器 双向链表 #include&...原创 2019-05-09 15:57:18 · 143 阅读 · 0 评论 -
虚拟地址空间布局
虚拟地址空间布局栈和堆的区别:堆是由程序员开辟,必须要收回栈由操作系统自动分配释放,不用手动删除空间大小不同。堆可以申请的空间大于栈所申请的空间的大小。堆最多可以申请的空间大小为虚拟内存的大小栈在64位windows上最多可以申请1M空间,在64位Linux上最多可以申请10M空间内存开辟不同。堆是由低地址向高地址开辟内存,栈是由高地址向低地址开辟分配方式不同,堆是动态分配,栈...原创 2019-07-20 23:53:08 · 467 阅读 · 0 评论 -
单例模式
单例模式 ==》 生成一个对象 1.屏蔽生成对象的接口 2.类中提供一个公有接口 生成唯一对象 类能正常的使用 虚继承 友元关系 &n...原创 2019-03-31 23:02:36 · 98 阅读 · 0 评论 -
继承与派生
1.继承本质: 代码复用派生类继承了基类的除构造和析构以外的所有成员、类型和作用域派生类的构造和析构方式和顺序继承方式 public protected privatepublic: 任意位置访问protected:本类,子类类中private: 本类类中publicprotectedprivatepublicpublicprotected...原创 2019-03-31 00:04:53 · 152 阅读 · 0 评论 -
编译链接原理
gcc的具体使用方式预编译 &nbsp;&nbsp;&nbsp;&nbsp;gcc -E main.c -o main.i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&a原创 2019-01-23 21:00:19 · 165 阅读 · 0 评论 -
类中默认的六个函数
C++三大特征 封装 继承 多态封装类中的三个访问限定符&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; 1.public 公有 任意位置&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; 2.private 私有 本类类中原创 2019-03-15 17:03:56 · 257 阅读 · 0 评论 -
类对象的生存周期
类类型的返回值: 临时对象带出来临时对象的生存周期: 表达式结束 ; , ?类对象的生存周期 隐式生成临时对象 和 显式生成临时对象隐式&nbsp;&nbsp;&nbsp;&nbsp; 系统推演对象类型 生成对象显式&nbsp;&nbsp;&nbsp;&nbsp; 指出对象类型 生成对象临时量&nbsp;&nbsp;原创 2019-03-16 20:27:42 · 264 阅读 · 0 评论 -
static
static1.修饰成员变量对象共享2.修饰成员方法_cdecl 没有this不能访问普通的成员变量能访问静态的成员变量不依赖对象来调动静态的成员方法不能调用普通的成员方法普通的成员方法能调用静态的成员方法class CShow{public: CShow(int a) :ma(a){} static void Show()//_cdecl { std::c...原创 2019-08-18 18:26:43 · 127 阅读 · 0 评论 -
C++实现带头节点的单链表
用友元函数友元函数会破坏封装性,C++能不用就尽量不用#include <iostream>class CLink;class Node{public: Node(int val) { mdata=val; pnext=NULL; } //不用写析构函数 因为头结点是在栈上开辟的 //不需要手动去释放 所以不写析构函数private: int md...原创 2019-03-18 00:49:03 · 1146 阅读 · 0 评论 -
写时拷贝
#include <iostream>class String{public: String() { pstr=new char[5]; pstr+=4; GetRef()=1; } String(char* str) { int len=strlen(str); pstr=new char[len+5]; pstr+=4; strcpy(...原创 2019-03-31 23:58:18 · 290 阅读 · 0 评论 -
内存池
class Queue;const int POOL_SIZE = 10;class QueueItem{public: QueueItem(int val = 0) :mdata(val), pnext(NULL){} void* operator new(size_t size) { if (pool == NULL) { pool =(QueueItem*)new...原创 2019-04-06 00:15:26 · 98 阅读 · 0 评论 -
面向对象
C++三大特征 封装 继承 多态封装类中的三个访问限定符 1.public 公有 任意位置 2.private 私有 本类类中 3.protected 保护 本类和子类类中 &n...原创 2019-08-16 19:37:00 · 126 阅读 · 0 评论