自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 狄泰C++课程学习笔记:第三十四课:数组操作符的重载

数组操作符,即 [] 这个符号,和普通的 + - * /,一样,[] 也是C/C++的内置操作符,既然它们地位相等,那么我们是否能够像重载 + - * / 那样对 [] 进行重载的操作呢?先来看个关于string字符串的操作小例子:在这个例子中,我们发现,我们用类似于C语言那样,用数组访问操作符 [] 和 下标的方式对string类型的字符串进行访问,结果竟然符合我们的...

2019-07-15 22:47:50 220

原创 狄泰C++课程学习笔记:第三十三课:C++中的字符串类

应用开发中大多数都在对字符串进行处理,本节主要介绍2个内容,1个是对C++标准库中的string字符串类的一个使用体验,1个是对C++标准库中的用于字符串和数字之间相互转换的字符串流类sstream类的使用体验。 C语言不支持真正意义上的字符串,故使用字符数组来实现字符串的操作;同样的,C++中也没有对字符串的原生支持,但是C++标准库却提供了string这个字符串...

2019-07-10 23:31:46 134

转载 unbuntu GUI和TUI切换

转载自https://blog.csdn.net/wt881010/article/details/529199131、按ALT+CTRL+F1切换到字符界面(Linux实体机)如果是VMware虚拟机安装的Linux系统,则切换到字符界面的时候需要以下操作按下ALT+CTRL+SPACE(空格),ALT+CTRL不松开,再按F1。这样就可以切换到字符界面了。2、按ALT+CTRL+F7切...

2019-06-30 23:34:21 1014

原创 狄泰C++课程学习笔记:第三十二课:C++标准库

  相较于C编译环境中的C库(如stdio.h/stdlib.h等)而言,C++编译环境也有着自己的C++标准库;那么针对C++标准库,大概有以下几点需要着重注意:  1. C++语言本身和C++标准库并没有什么直接的关系,C++标准库是无数个前辈们基于C++语言去实现的一系列常用的/实用的功能类和函数的集合。  2. C++编译环境本身包括:编译模块和库2大部分;编译模块中又包含C++的...

2019-01-20 16:56:15 177

原创 狄泰C++课程学习笔记:第三十、三十一课:初步涉猎操作符重载

1、重载升级:函数重载 -> 操作符重载        在先后学习了函数重载的相关内容后,今天豁然接触到了一个全新的概念:操作符重载,没错,就像我们之前的函数重载一样,我们也可以对大部分已存在的操作符(如:+、-、*、/、=、[]、()等等)进行重载的操作,         操作符重载的出现,主要是默认的,我们自定义的类对象与类对象之间是不能进行常规的算数运算的,但实际项目中,我们又...

2018-08-05 20:22:08 178

原创 狄泰C++课程学习笔记:第二十九课:类中的函数重载

1、标题虽然说的是“类中的函数重载”,但其实本篇笔记想要强调的最重要一点是:重载只能发生在同一作用域内比如:类中的成员函数就不能和全局的函数构成重载的关系,即二者可以出现同名的函数,因为他们的作用域并不相同那么在同一类中的不同类型函数之间是否可以构成重载的关系呢?        在一个已有的类中,不外乎有着这3类的函数:构造函数、普通的成员函数、静态成员函数;        构造函...

2018-07-29 22:29:50 136

原创 狄泰C++课程学习笔记:第二十八课:友元friend

1、什么是友元?友元,更多的表征的是一种关系,这种关系可以发生在全局函数和某个类之间,也可以发生在类和类之间通俗来说,        * 友元发生在全局函数和某个类之间时:如果我们将一个普通的全局函数声明成为了某个类的友元函数,则该函数则可以无限制(不受访问级别属性的限制)的访问类中的所有成员变量(当然,这种特性的出现,毫无疑问的破坏了我们现有类的封装性,因此,在实际的工程项目中,我们...

2018-07-23 10:55:38 153

原创 狄泰C++课程学习笔记:第二十七课:二阶构造

    所谓“二阶构造”,其实就是说当某个类的构造函数中,既涉及到类中成员变量的初始化操作,又涉及到系统资源(如申请堆空间、打开外部文件等等)的申请,且该种申请可能会失败的情况时,我们可以将传统的一个构造函数的主体人为的拆分成为2步来进行:    * 第一步:形式上就是传统的构造函数,不同的是这里需要将该构造函数的访问属性设置为private,在该构造函数中只进行类中普通成员变量的初始化操作,一般...

2018-07-11 22:54:02 262

转载 基于windows平台的一个入门级的socket通信示例

上节演示了 Linux 下的 socket 程序,这节来看一下 Windows 下的 socket 程序。同样,server.cpp 为服务器端代码,client 为客户端代码。服务器端代码 server.cpp:#include <stdio.h>#include <wins...

2018-07-10 18:07:49 864

原创 狄泰C++课程学习笔记:第二十五、二十六课:静态成员变量和静态成员方法

1、类中的静态成员变量    所谓类中的静态成员变量,也就是类中使用static关键字来修饰的成员变量,针对静态成员变量,大致有以下几点需要注意:        * static修饰的静态成员变量不属于任何一个对象,是该类本身的内容        * 存储上,静态成员变量会被分配在全局数据区,在程序运行期间均有效        * 初始化上,静态成员变量由于不数据任何一个实体对象,是当前类的所有类...

2018-07-08 00:32:23 165

原创 狄泰C++课程学习笔记:第二十四课:经典问题解析二

本次主要举例解析3个问题:    * 析构函数的调用顺序    * 定义const对象(只读对象)时,我们需要注意一些什么    * this指针的引入1、析构函数的调用顺序    提及析构函数的调用顺序,我们需要首先来回顾一下构造函数的调用顺序    单个对象的构造顺序为:        * 先调用父类的构造函数        * 在调用类中的成员对象的构造函数(这里的成员对象需要在初始化列表中...

2018-07-07 17:09:13 190

原创 狄泰C++课程学习笔记:第二十三课:临时对象

1、一般的,什么时候会产生临时对象?    * 手工调用构造函数将产生临时对象2、临时对象有什么特点?    * 生命周期仅限于当前行,当前行执行结束,临时对象立即会被析构3、针对临时对象如何处理?    * 人为的,在编写代码过程中,应尽量的去避免临时对象的产生和使用    * 现代的C++编译器也会在编译的过程当中针对源码中临时对象的上下文,在不影响最终结果的前提条件下,尽量的去对源码进行优化...

2018-07-04 22:22:38 268

原创 狄泰C++课程学习笔记:第二十一、二十二课:对象的构造顺序和析构函数的引入

1、对象的构造顺序,一般的,我们的对象都会在什么地方构造呢?    * 栈 stack    * 堆空间 heap    * 全局数据区,对应全局对象2、那么针对这些在不同内存空间中构造的对象,我们需要注意一些什么呢?    * 栈对象的构造顺序取决于我们程序的执行流    * 堆空间的对象何时构造取决于我们new关键字出现的位置        以上两类对象的构造均是在我们的main函数开始执行之...

2018-07-03 23:12:52 157

原创 狄泰C++课程学习笔记:第二十课:初始化列表

在C++中,当我们自定义的类中出现了某些特殊类型的成员变量时,为保证初始化过程的正确性,编译器要求它们的初始化过程必须通过初始化列表来进行,下边就现有课程已经学到的知识范围我们简单来进行分类列举:1、大概有哪几种类型的成员变量的初始化工作必须要借助初始化列表来进行 * 类中的const修饰的成员变量的初始化 * 类中的成员变量为另一个类的类对象,即组合关系(尤其是作为成员的...

2018-07-02 14:13:21 201

原创 狄泰C++学习笔记:第十七、十八、十九课:对象的构造

开篇前先说个小感慨吧时间过的很快,一转眼今天已经是2018年下半年的第一天了,莫名的,突然有种强烈的紧迫感,感觉时间不够用,小伙伴们,大家还记得年初我们给自己定下的小目标吗?时间已经过去了一半,你是否还是一如既往的在路上呢?不管怎样,一定要坚持下去哦,引用一句我们高三班主任的话:坚持是什么?坚持就是从随时随地的挫折和欲望中摆脱出来,回到原来的路线上为既定的目标而努力奋斗!好了,话不多说,言归正传。...

2018-07-01 21:32:25 209

原创 狄泰C++课程学习笔记:第十三、十四、十五课:进阶面向对象

该篇文章,在一定程度上,起到一个从面向过程到面向对象进阶的一个过渡的作用,主要是对C++的面向对象思想中的一些概念性的东西做了一个梳理。1、C++的这2个加号有什么意义?    * 1个代表着从C到C++类型的进一步加强    * 另1个则代表着面向对象的思想的加入2、类和对象    类:即分类、类别之意,对应着现实生活中的方方面面,生活中我们能够人为的分类的一些东西,在C++中都可以定义相应的类...

2018-06-27 22:57:13 273

原创 鸡汤积累,累了困了就来灌一碗吧。。。持续不定时更新

原先以为在学校里读书是煎熬,现在才发现,人在理想和现实之间的缝隙中苦苦挣扎,才是真正的煎熬    -- 渤哥

2018-06-26 17:50:47 176

原创 物欲横流的社会中,有没有那么一首诗、一首歌、一句话、一个词....不经意间勾起了你心中无限的回忆,甚至心都跟着微微颤抖了一下

我最忘情的哭声有两次一次,在我生命的开始一次,在你生命的告终第一次,我不会记得是听你说的第二次,你不会晓得我说也没用但两次哭声的中间,有无穷无尽的笑声一遍一遍又一遍,回荡了整整三十年你都晓得,我都记得-- 余光中 《今生今世》十月胎恩重,三生报答轻 - 20180711今天是特殊的一天,因为过完今天,这周就结束了;今天是...

2018-06-26 16:32:30 579

原创 狄泰C++课程学习笔记:第十二课:经典问题解析一 - 引用

1、如何区分某个被const修饰的变量到底是只读变量还是真正意义上的常量?    从根本上来说:就是看编译器在编译的过程中能否直接确定该变量的值,能,则为真正意义上的常量,否则,即为只读变量(只读变量的意义就是在改变量的作用域内,该变量不能出现在赋值符号的左边)    从细节上来说,大致可以分为以下几种情况:    * 在定义时直接使用字面量来进行初始化的,可以被直接编译进入符号表,成为真正意义上...

2018-06-26 14:17:39 237

原创 狄泰C++课程学习笔记:第十一课:C++中新型的强制类型转换

1、区别于C形式的简单粗暴的统一风格的强制类型转换,C++做了全新的变革,C++中将所有的强制类型转换分为了4种,并依次提供了static_cast/const_cast/reinterpret_cast/dynamic_cast 4个关键字来对应于每一种强制类型转换,这样做可以在实际工作的工程应用中,快速且有依据的定位出我们源代码中所有出现了某种强制类型的地方,这样可以帮助我们更为快速的去定位问...

2018-06-24 22:56:17 168

原创 狄泰C++课程学习笔记:第十课:C++中的新成员

1、用于动态内存空间申请和释放的new/delete关键字的引入对应于C中用于动态内存申请和释放的库函数malloc/free来说,C++中引入了全新的概念,直接以源生关键字的方式支持了动态内存的申请和释放,相较于C中的申请和释放,二者特点特性对比如下:    * C:动态内存的申请是以字节为单位进行的   如:int* p = malloc(sizeof(int));      C++:动态内存...

2018-06-23 22:02:37 338

原创 狄泰C++课程学习笔记:第八、九课:函数重载

1、函数重载发生的条件前提:函数重载发生在同一作用域内在函数名称相同的情况下构成函数重载的条件:    * 形参列表类型不同    * 形参列表顺序不同    * 形参个数不同    上述三个条件,任意满足其一,即可构成函数重载    注:函数重载只和函数名、函数形参列表有关,和函数的返回值无关2、当函数重载碰上函数默认参数编译器在对源代码进行编译时,遵循的标准是函数的调用上不会产生二义性,如果对...

2018-06-22 23:16:52 184

原创 狄泰C++课程学习笔记:第七课:函数的默认参数和占位参数

1、相较于C而言,C++允许我们在声明某个函数时为其形参附加上一个默认的值如:int mul(int a = 5);    // .......        int mul(int a) { return a * a; }这种声明中带有默认参数的写法在C++中是合法有效的,当我们以mul();这种方式(即没有显示的指明实参的值)来调用该函数时,即表明该参数使用默认参数。2、强调:函数的默认参数必...

2018-06-22 11:06:44 257

原创 狄泰C++课程学习笔记:第六课:inline内联函数

1、c++中,真正意义上的const常量的出现可以完美的替代c中常见的宏定义如:#define N 100   =>  const int n = 100; 这样写的好处见第三课中的介绍;同样的,inline内联函数出现的意义从某种程度上来说是为了替换传统意义上的宏代码段如:#define FUNC(a, b) ((a) < (b) ? (a) : (b))=>  inline ...

2018-06-21 11:24:48 282

原创 狄泰C++课程学习笔记:第五课:引用的本质分析

引用&的本质分析:该篇内容算是对上一篇的一个补充,或者说一个延伸吧。。。1、引用的本质是什么? 引用占用内存空间吗?本质上,引用就是一个常量指针(type* const pointer),或者说C++中引用时通过常量指针的方式来实现的,这也是为什么一个引用一旦定义并初始化后不能修改其值的原因,同时,因为其本质是一个指针,所以在内存占用上,和其他普通指针一样均占用4个字节的内存空间;2、引用...

2018-02-09 22:37:29 192

原创 狄泰C++课程学习笔记:第四课:bool类型和引用

bool类型:C语言中,没有原生的bool类型,一般的,C中通过 typedef bool int; 的方式来实现bool类型;然而在C++中,bool却成为了内置的原生数据类型,其值有true/false两个,本质上,bool和int/float/double等原生数据类型并没有什么区别,类似的,我们也可以定义bool类型的变量、数组、指针等;需要注意的一点是:为了兼容C语言,C++中的bool...

2018-02-08 22:11:45 330

原创 狄泰C++课程学习笔记:第三课:进化后的const分析

一、C和C++中的const对比分析C:const修饰的量本质是只读变量,并不是真正意义上的常量,C中只有enum定义出来的枚举才是真正意义上的常量。1、const修饰的全局变量编译进入只读数据区,尝试修改全局数据区的数据将会引起程序的崩溃(在gcc编译环境下崩溃表现为段错误Segmentation fault (core dumped))2、const修饰的局部变量则仍然存储

2018-02-04 22:24:46 312

空空如也

空空如也

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

TA关注的人

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