![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 69
食梦少年
仰望大牛,脚踏实地
展开
-
异常——C++中的异常
本文参照于狄泰软件学院——《C++深度剖析课程》C++中的异常处理处理多个异常在catch中抛异常使其与第三方库兼容 之前我们分析了C语言中异常处理的方式,基本没有好的解决方案。那么C++中会如何优化C语言对异常的处理的缺陷呢?C++中的异常处理C++内置了异常处理的语法元素try…catch…try语句处理正常代码逻辑catch语句处理异常情...原创 2018-06-01 09:18:01 · 1004 阅读 · 0 评论 -
C++重载——逻辑操作符重载的陷阱
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》逻辑运算符的原生语义重载逻辑操作符 既然运算操作符、比较操作符、赋值操作符、求模运算符都可以进行操作符重载了。那么逻辑运算符是否可以重载呢?回答这个问题,我们需要知道操作符重载的规则。规则之一是:不能改变操作符的原有语义。逻辑运算符的原生语义操作数只有两种值(true)和(false)...原创 2018-05-31 08:56:55 · 1258 阅读 · 0 评论 -
C++重载——操作符重载的概念
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-31 08:55:35 · 348 阅读 · 0 评论 -
类的继承——C++中的类型识别
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》静态类型与动态类型利用多态特性获取动态类型C++的解决方案:类型识别关键字我们在父子间的冲突发现,可以定义一个虚函数来解决父类指针(引用)引发的同名覆盖的问题。 在面向对象中还可能出现下面的情况: 1. 基类指针指向子类对象 2. 基类引用成为子类对象的别名静态类型与动态类型...原创 2018-05-31 08:53:47 · 1223 阅读 · 0 评论 -
类的继承——正确的使用多重继承
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-31 08:51:21 · 1807 阅读 · 0 评论 -
类的继承——被遗弃的多重继承
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 10:15:35 · 350 阅读 · 0 评论 -
类的继承——C++中的抽象类和接口
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 10:03:43 · 5232 阅读 · 0 评论 -
类的继承——多态的实现原理
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 10:01:55 · 2190 阅读 · 0 评论 -
类的继承——父子同名覆盖问题及多态的概念
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 09:59:34 · 368 阅读 · 0 评论 -
类的继承——父子间的冲突
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 09:58:38 · 347 阅读 · 0 评论 -
类的继承——继承中的构造和析构
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 09:57:22 · 400 阅读 · 0 评论 -
类的继承——不同的继承方式
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 09:56:32 · 318 阅读 · 0 评论 -
C++重载——前置操作符和后置操作符重载
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》 思考:“i++“ 和 ”++i“有区别吗?为什么?我们通过反汇编验证一下想法:16 int i = 0;0804869d: movl $0x0,0x1c(%esp)18 i++;080486a5: addl $0x1,0x1c(%esp)20 ...原创 2018-05-31 08:57:41 · 1034 阅读 · 1 评论 -
C++重载——C++中的字符串类
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》++,- -操作符的本质笔试面试中的“奇葩”题++,- -操作符的本质C语言中的一些“小动作” 高级语言在运算中允许我们大跨度的运算。意思就是低级语言中需要好几步才能完成的一个运算,在高级语言中只要一步就可以完成了。 譬如C语言中的++和–运算符,在C中我们需要一个变量 i+1,我们只要...原创 2018-05-31 08:58:45 · 980 阅读 · 0 评论 -
C++重载——字符串类的实现
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-31 09:02:40 · 1676 阅读 · 0 评论 -
异常——C语言中的异常
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:15:22 · 4913 阅读 · 0 评论 -
C++模板——单例类模板
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:14:19 · 2689 阅读 · 0 评论 -
C++模板——智能指针类模板
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:13:30 · 2412 阅读 · 0 评论 -
C++模板——数组类模板
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:12:43 · 13815 阅读 · 1 评论 -
C++模板——类模板深度剖析
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:11:55 · 293 阅读 · 0 评论 -
C++模板——类模板的概念和意义
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:11:00 · 9210 阅读 · 0 评论 -
C++模板——深入理解函数模板
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:10:07 · 957 阅读 · 0 评论 -
C++模板——泛型编程简介
本文参照于狄泰软件学院——《C++深度剖析课程》原创 2018-06-01 09:08:54 · 292 阅读 · 0 评论 -
C++重载——类型转换运算符
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》C语言中的类型转换普通类型到类类型的转换类类型到普通类型的转换类类型之间的转换Qt的类型转换函数C语言中的类型转换标准数据类型之间会进行隐式类型安全转换转换规则如下: 问题:在C++中,普通类型与类类型之间能否进行类型转换?普通类型到类类型的转换转换构造函数(特殊的...原创 2018-05-31 09:07:35 · 11740 阅读 · 2 评论 -
C++重载——函数调用运算符
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》函数对象函数指针与函数对象客户需求: 1. 函数可以获得斐波拉切数列每项的值 2. 每调用一次返回一个值 3. 函数可根据需要重复使用示例代码:#include <iostream>#include <string>using namespace std;...原创 2018-05-31 09:06:06 · 1579 阅读 · 0 评论 -
C++重载——智能指针的实现
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-31 09:05:01 · 769 阅读 · 0 评论 -
类的继承——继承中的访问级别
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 09:55:44 · 341 阅读 · 0 评论 -
类的继承——继承的概念和意义
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》原创 2018-05-30 09:54:57 · 7372 阅读 · 0 评论 -
对象和类——友元的尴尬能力
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》友元友元的用法友元不是类的一部分为什么需要友元?友元类 我们知道,C++控制对类对象私有部分(private)的访问。通常,公有类方法提供唯一的访问途径(public)。但是有时候这种限制太严格,以致于不适合特定的编程问题。 问题:还有没有别的方式可以访问到类的私有成员呢?友...原创 2018-05-30 09:53:40 · 263 阅读 · 0 评论 -
类和封装的概念
本文参照于狄泰软件学院《C++深度剖析》什么是类?类的封装类为什么需要封装?如何将一个类封装?C++中类的封装类成员的作用域什么是类? 我们知道电脑一般而言是由CPU,内存,主板,键盘和硬盘等部件组合而成。那么我们如何用程序代码像组装电脑一样,吧各个部分分开开来,又可以相互组合呢?类的封装 我们可以把程序按某种规则分成很多“...原创 2018-04-19 17:28:45 · 5270 阅读 · 0 评论 -
C++中三目运算符的升级
7.C++中三目运算符的升级 本文参考自狄泰软件学院:《C++深度剖析》课程C语言中的三目运算符C语言中的三目运算符返回的是变量的值。所以只能作为右值使用,而不能作为左值使用。那么,C++对三目运算符做了怎样的升级呢?C++中的三目运算符C++中的三目运算符可直接返回变量本身。既可以作为右值使用,又可以作为左值使用 a) 当三目运算符返回是变量时,返回的是变...原创 2018-02-21 02:49:18 · 286 阅读 · 0 评论 -
进化后的const关键字
6.进化后的const关键字 本文参考自狄泰软件学院:《C++深度剖析》课程C语言中的constconst修饰的变量是只读的,本质还是变量。const修饰的局部变量在栈上分配空间const修饰的全局变量在只读存储区分配空间 const只在编译期有用,在运行期无用 a) const修饰的变量不是真的常量,它只是告诉编译器该变量不能出现在赋值符号的左边。实际上...原创 2018-02-21 02:48:30 · 142 阅读 · 0 评论 -
C++中的内联函数
5.C++中的内联函数@(C++)[计算机语言学习, C++, C到C++的升级] 本文参考自狄泰软件学院:《C++深度剖析》课程 我们可以在宏定义中定义一个函数,但是这个函数却不会检查语法错误。那么C++是否有解决方案代替宏代码片段呢?内联函数C++编译器可以将一个函数进行内联编译被C++编译器内联编译的函数叫做内联函数C++编译器直接将函数体插入函数调...原创 2018-02-21 02:47:24 · 250 阅读 · 0 评论 -
C++中的函数重载
4.C++中的函数重载 本文参考自狄泰软件学院:《C++深度剖析》课程C中的函数重载函数重载函数重载与函数指针函数重载与函数默认参数 在C语言中我们无法定义两个同名的函数。而当我们想用不同的方式实现相同功能的时候,只能重新定义一个函数名,这样的话就很不方便了。 那么,C++将怎么解决这个问题呢?函数重载重载(Overload)是效仿自...原创 2018-02-21 02:45:33 · 200 阅读 · 0 评论 -
C++中对函数参数的升级
3.C++中对函数参数的升级 本文参照自狄泰软件学院:《C++深度剖析》课程问题:int func()与int func(void)有区别吗?如果有,区别是什么?//C语言编译 int func() { printf("oushangrong\n"); }int main() { func(123); func(123, 2.1, "...原创 2018-02-21 02:43:03 · 236 阅读 · 0 评论 -
C++中的类型转换关键字
本文参考自狄泰软件学院:《C++深度剖析》C方式的强制类型转换示例代码:typedef void(PF)(int); //定义一个函数类型PFstruct Point{ int x; int y;};int main(){ int v = 0x12345; PF* pf = (PF*)v; //将v强制类型转换为...原创 2018-02-28 15:07:40 · 305 阅读 · 0 评论 -
C++中的命名空间
本文参考自狄泰软件学院:《C++深度剖析》 命名空间是什么?为什么需要命名空间?C语言的命名空间C语言中所有的全局标识符共享同一个作用域标识符之间可能发生冲突 在实际工程项目开发中,并不是又一个人编写全部代码的,而是分多人合作写同一个项目。但是由于C语言的这种特性,不同的人可能定义同名的全局变量,导致全局变量发生冲突。所以一般用C编写代码,尽量少用全局变量...原创 2018-02-28 15:06:45 · 209 阅读 · 0 评论 -
C++中的new和delete
9.C++中的new和delete 本文参考自狄泰软件学院:《C++深度剖析》C语言中的动态内存分配C语言是通过库函数malloc和free库函数来进行动态内存申请的。那么在C++中会如何升级动态内存的申请呢?C++中的动态内存分配C++中通过new关键字进行动态内存申请C++中动态内存申请是基于类型进行的delete关键字用于内存释放示例代码:C++中新...原创 2018-02-28 15:05:38 · 208 阅读 · 0 评论 -
C++中的布尔类型
8.C++中的布尔类型 本文参考自狄泰软件学院:《C++深度剖析》课程C++在C语言的基本类型系统之上增加了bool类型C++中的bool可取的值只有true和false true代表真值,编译器内部用1来表示 false代表非真值,编译器内部用0表示bool只占用一个字节C++编译器会将非0值转换为true,0值转换为false。示例代码:布尔类型初探#inc...原创 2018-02-28 15:04:11 · 1533 阅读 · 0 评论 -
C++对变量的升级
2.C++对变量的升级 本文参照自狄泰软件学院:《C++深度剖析》课程 在C语言中,对变量的定义和使用有许多不严谨,不方便的方法。C++对这些变量的关键字和使用方式都做出了一定的变化和修改。1. C++更强调语言的实用性2. 所有的变量都可以在需要使用时再定义 - 而C语言中的变量必须在作用域开始的位置定义。后面C99的标准改变了跟C++相同。3....原创 2018-02-19 01:06:02 · 391 阅读 · 0 评论