自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Darknight::的博客

学习,写作,谦逊的不断前行

  • 博客(13)
  • 收藏
  • 关注

原创 【C++】友元函数相关

前言:C++中对类对象私有部分的访问是被限制了的,一般来说,类的公有类方法是唯一的访问途径,但是这样的限制会影响某些特定情况下的编程(比如重载操作符时)。在这种情况下,C++提供了另一种形式的访问权限:友元。友元分为:友元函数,友元类,友元成员函数。这里先介绍友元函数,其他两种将放在另一篇博客中介绍。一:为何需要友元友元提供了另一种访问类对象私有部分的访问权限,通过让函数成为类的友元,可以赋予该函数与类的成员函数相同的访问权限。而这在某些特殊情况下是很有帮助的,比如在重载操作符时。在使用成员函数重载操

2020-07-24 20:52:03 553

原创 【C++】操作符重载

前言:之前的博客【C++】函数重载与函数模板中,介绍过C++是如何让用户定义多个名称相同但特征标(参数列表)不同的函数,这被称为函数重载或函数多态,方便了用户对不同的数据类型进行相似的操作。而在本篇博客中,将重载的概念扩展到操作符上,使得操作符具有多种含义。实际上,很多C++和C语言的操作符已经被重载过,在不同的语句中同样的操作符会有不同的含义。比如说操作符*,既可以表示算术乘法,又可以用于地址得到储存在其中的值;或者操作符<<,既可以表示位左移,与cout合用时又表示输出。回忆之前接触过的已

2020-07-23 21:34:10 604

原创 【C++】函数重载与函数模板

前言:之所以将函数重载和函数模板放在一起来讲,是因为二者皆能够产生函数名相同而作用不相同的函数。函数重载的关键是函数的参数列表(也称函数特征标),C++允许定义名称相同而参数列表不同的函数,在使用这样的同名函数时,编译器将根据所传递的参数选择对应的函数原型;而函数模板更像是一个通用的函数描述,通过将具体的类型(int和double等)作为参数传递给模板,则可以使编译器产生对应类型的函数。下面将分别介绍函数的重载和模板。一:函数重载重载函数就如同写作文时使用的多义词,比如说“门槛”这个词,既可以表示门框

2020-05-22 22:35:19 1089

原创 【C++】引用变量相关

一:什么是引用变量在自定义函数时,常常需要使用到形参。由于只能在函数体内部使用并且只能由外部实参传递数据给形参,形参也被称为形式参数或者虚拟参数。但是需要注意的一点是,形参是在调用函数时被创建并分配内存,在结束调用时释放内存,并不是真正“虚拟”的。当形参和实参的类型不是指针的时候,形参和实参是不同的变量,在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。比如一个简单的交换两个变量值的程序:void Swap(int a,int b) //a,b作为

2020-05-20 22:32:30 531

原创 【C++】内联函数相关

一:什么是内联函数学习C++时,一般先掌握的是有返回值的,带参或不带参的常规函数,但与之相对的还有所谓的内联(inline)函数。要了解什么是内联函数以及其与常规函数的区别,需要对程序有更深刻的理解。当编译结束以后生成由一组机器语言指令组成的可执行程序(.exe),而运行程序时操作系统将指令载入到每条指令对应的内存中,随后计算机将逐步执行程序。如果你已经学过汇编语言,那你应该很熟悉执行时的跳转操作:当执行循环或分支语句时,将跳过一些指令向前或向后跳转特定的指令地址。在常规函数执行时,执行到函数调用指令

2020-05-19 17:53:14 624

原创 【C++】指针及动态管理内存相关

一:指针(1)存储数据两种方式计算机在储存数据时,需要跟踪数据的储存地址,所储存的值的类型及大小。在介绍指针操作以前,通过定义简单变量来实现这一问题。比如语句:int x = 1;实际上是程序分配足够放置int类型变量的内存(比如4个字节),将这部分内存标记为x,同时将数值1放入其中。在这种方式下,数据的值是指定量,存放的地址则是派生量;而利用指针操作存储数据,将地址视为指定量,数据的值则是派...

2020-04-27 16:24:08 523

原创 【C++】字符串详解

字符串简介:字符串是存储在内存中连续字节的一系列字符。C++中处理字符串有两种风格,一种来自C语言,叫做C语言风格;另一种风格基于string库,我们姑且叫string库风格。其中C语言风格,利用了字符串储存在内存中连续字节的特点,将字符串储存在字符数组中,以‘\0’结尾;而string库风格提供的方法,允许程序员将字符串作为变量来使用,接下来将分别介绍这两种风格。1.C语言风格(1)字符串...

2020-04-22 19:58:42 15416 2

原创 【Python】对dat文件操作:序列化对象

一:dat文件在我之前的博客中,我介绍了对txt文件操作的一些相关知识,了解了如何对其进行读写操作,也介绍了文本文件和二进制文件的一些区别。虽然对txt文件操作已经能够满足储存数据的需求,但txt文件并不能很好的满足工作需求,所以这里我引入对dat文件的操作。在计算机中dat文件分为两种,一种是纯文本文件,类似于txt文件,可用记事本打开但是可能会出现乱码,无法直接利用记事本,写字板等工具直接对...

2020-04-15 20:42:08 4213

原创 【Python】删改文本文件内容

前言:在我之前的博客“对文本文件操作小结(一)”中,我已经对python中对文本文件操作进行了基本的阐述,我们已经明白了二进制文件和文本文件的区别,如何建立文件和程序的连接和怎样对文件进行读写操作。但是很多时候我们还需要删改文本文件中的内容,接下来我将介绍删改文件的操作。一:如何删改文本文件中的内容(1)清空文本文件内容:如果想删除文本文件的全部内容,我们可以选择打开文件方式为‘w’并不写入内...

2020-04-08 21:00:50 16627 3

原创 【Python】读写文本文件

一:文件简介:(1)简述:在未涉及到对文件操作以前,我们的编写的程序都需要在每次运行的时候重新输入数据,这是因为所有我们编写的程序中变量所指向的数据都存储在内存中,而这些数据在程序停止运行以后都会消失。如果我们想多次运行程序并存储数据,那么就必须对数据进行保存。数据可以保存在文件中,存储在计算机的硬盘上,如此一来,即使我们停止程序数据也将依旧存在。在实际运用中将数据存在文件中是十分普遍而必要的,...

2020-04-04 14:08:53 1207

原创 【Python】字符串的深入学习

一:浅谈字符串在我们的编程过程中,我们常常需要使用到字符串这一概念。尤其是在Python的编程中,字符串的概念涉及的尤其广泛。但是对于初学者来说,对字符串的理解还停留在输入和输出的层面上,这对于我们的学习来说应该是不够的,比如我们对大量文本进行操作的时候就需要大量的使用字符串。那么,我们该如何深入理解字符串呢?我觉得,我们应该分清字符串和int,float等变量的不同,又要发掘字符串和pyth...

2020-04-01 18:34:35 612

原创 【Python】input()函数用法小结

一:input()函数的输入机制我们编写的大部分程序,都需要读取输入并对其进行处理,而基本的输入操作是从键盘键入数据。Python从键盘键入数据,大多使用其内置的input()函数。但是,不同于程序设计初学者常接触的C和C++,我们不需要在输入之时规定变量的类型。相反,我们可以非常便捷的使用a = input()对任何数据类型的变量a进行赋值,无论是int,float还是列表等等。但是这并不代表...

2020-03-30 17:18:11 170472 15

原创 【Python】 print()函数中调用自定义函数时输出出现None和顺序错误问题

一:print函数简述当我们使用python的print函数时我们感觉十分便利,因为无论是什么类型的数据,数值,字符串,列表…我们都可以通过print函数直接输出,或者赋值给变量以后再输出。print函数中常出现的问题是自动附加空格和多个print函数自动提行,都可以利用end=’ ‘和sep=’ '来解决。但是,如果我们在print函数中加入了自定义的函数,那么最后的结果就有可能出现None乱...

2020-03-28 21:58:20 7201 2

空空如也

空空如也

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

TA关注的人

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