自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 三十七课 智能指针分析

一、永恒的话题1、内存泄漏(臭名昭著的Bug)动态申请堆空间,用完后不归还 C++中语言中没有垃圾回收的机制 指针无法控制所指堆空间的生命周期(指针挂了,但内存空间依然存在)示例:内存泄漏#include <iostream>#include <string>using namespace std;class Test{ int i;...

2018-08-27 11:00:20 99

原创 六十七课 经典问题解析五

一、面试问题一1、编写程序判断一个变量是不是指针C++中依然支持C语言的可变参数函数 C++编译器的匹配调用优先级重载函数 函数模板 变参函数2、思路 : 将变量分为两类:指针 VS 非指针 编写函数: 指针变量调用时返回true 非指针变量调用时返回false示例:指针判断#include <iostream>#include <strin...

2018-08-24 14:14:21 141

原创 六十六课 C++中的类型识别

1、在面向对象时可能出现下面的情况基类指针指向子类对象 基类引用成为子类对象的别名Base* p = new Derived();Base& r = *p;静态类型:变量对象自身的类型。如Base*、Base&动态类型:指针(引用)所指向对象的实际类型。如Derivedvoid test(Base* b){ /*危险的转换方式*/ Derived...

2018-08-23 16:18:00 106

原创 六十五课 C++中的异常处理(下)

这节课我们来深入了解下C++中的异常处理1、catch语句块可以抛出异常try{ func()//抛出异常int类型}catch(int i){ throw i; //这里抛出的异常必须在外层的try...catch被捕获}catch(...){ throw;}2、问题:为什么要在catch重新抛出异常?假如我们使用第3方库,他会抛出异常类型为int,...

2018-08-23 09:15:00 96

原创 六十四课 C++中的异常处理(上)

上节课我们了解了C语言的异常处理方式,也了解了C中异常处理的许多的缺陷,下面我们来学习下C++中的异常处理。看看C++中是怎么处理异常的。 一、C++中的异常处理1、C++中内置了异常处理的语法元素try...catch...  try语句处理正常代码逻辑   catch语句处理异常情况   try语句的异常由对应的catch语句处理 try { doub...

2018-08-22 16:35:59 89

原创 六十三课 C语言中的异常处理

在讨论C++异常处理时,我们有必要先看下C语言异常的处理方式一、异常处理1、异常的概念程序在运行过程中可能产生异常 异常与Bug是有区别的 异常是程序运行过程中可预料的执行分支 Bug是程序中的错误,是不被预期的运行方式2、异常和Bug的对比异常:运行时产生除0的情况 需要打开的外部文件不存在 数组访问越界Bug:使用野指针 堆数组使用结束后未释放 选择排...

2018-08-22 11:23:25 142

原创 六十课 数组类模板

我们前面学习了函数模板、类模板了,我们现在有能力来开发一个数组类模板。但是还需要些知识点。一、预备知识1、模板参数可以是数值型参数template <typename T,int N>void func{ T a[N]; //使用模板参数定义局部数组}2、数值型参数的限制变量不能作为模板参数 浮点数不能作为模板参数 类对象不能作为模板参数本质:...

2018-08-21 17:20:57 241

原创 五十九课 类模板深度剖析

一、多参数类模板1、类模板可以定义任意多个不同的类型的参数template <typename T1,typename T2>class Test{public: void add(T1 a,T2 b);};2、类模板可以被特化指定类模板的特定实现 部分类型参数必须显示指定  根据类型参数分开实现类模板template <typename...

2018-08-20 17:55:40 95

原创 五十八课 类模板的概念和意义

一、类模板上节课我们使用泛型编程的思想应用于函数模板,这节课我们就来学习下泛型编程的思想是否可以用类上面呢?一些类主要用于存储和组织一些数据元素 类中数据组织方式和数据元素的具体类型无关 类模板主要应用数据结构 如数组类、链表类、Stack类、等C++中将模板的思想应用于类,使得类的实现不关注数据元素的具体类型,而之关注类所实现的具体功能。1、C++中的类模板以相同的方式处理...

2018-08-20 16:09:05 142

原创 五十七课 深入理解函数模板

上一节我们对函数模板有了具体的了解,这节我们在深入的了解一下函数模板一、函数模板的本质     1、编译器从函数模板通过具体类型产生不同的函数     2、 编译器会对函数模板进行两次编译 对模板代码本身进行编译   对参数替换后的代码进行编译(即调用时) 示例:函数模板的本质#include <iostream>using namespace std;...

2018-08-18 16:17:47 110

原创 五十六课 函数模板的概念和意义

   泛型编程是工程开发中必用的技术,在大型公司里面一般都有自己的通用库,而这些通用库都是使用泛型编程来完成的。在C++中支持泛型编程的技术。C++中函数模板和类模板就是使用泛型编程技术。接下来我们就来学习下使用泛型编程技术实现的函数模板。一、发散性问题1、 C++中有几种交换变量的方法(1)定义宏代码块(2)定义函数示例:宏代码块VS函数#include <ios...

2018-08-18 11:27:17 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除