- 博客(13)
- 收藏
- 关注
原创 C++虚函数
在C++语言中,当我们使用基类的引用或指针调用一个虚成员函数时会执行动态绑定。因为直到运行时才能知道到底调用了哪个版本的虚函数,所以所有的虚函数都必须有定义。必须为每一个虚函数都提供定义,而不管它是否被用到了,这是因为连编译器也无法确定到底会使用哪个虚函数。文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):.
2021-08-12 18:54:53
98
原创 基类和派生类
Quote() = default;因为该构造函数不接受任何实参,所以它是一个默认构造函数。在C++11标准中,如果我们需要默认的行为,可以通过在参数列表后面写上 = default 来要求编译器生成构造函数。其中,= default 既可以和声明一起出现在类的内部,也可以作为定义出现在类的外部。和其他函数一样,如果= default 在类的内部,则默认构造函数是内联的;如果它在类的外部,则该成员默认情况下不是内联的。之所以有效,是因为对内置类型的数据成员提供了初始值。文章目录定义基类成员.
2021-08-12 11:47:46
3833
原创 变量、对象
变量提供一个具名的,可供程序操作的存储空间。C++中每个变量都有其数据类型,数据类型决定着变量所占内存空间的大小和布局方式、该空间能存储的值的范围,以及变量能参与的运算。对C++来说,变量(variable)和对象(object)一般可以互换使用。文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以
2021-08-08 15:22:34
157
原创 new()
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录new()释放动态数组智能指针和动态数组一、pandas是什么?二、使用步骤1.引入库2.读入数据总结new()// 调用get_size确定分配多少个intint *pia = new int[get_size()]; // pia指向第一个int也可以用一个表示数组类型的类型别名来分配一个数组:typedef int arrT[42]; // arrT表示42个int的数组类型int *p = new arr
2021-07-30 11:53:49
129
原创 分配内存malloc()、calloc()和free()
文章目录前言free()的重要性二、使用步骤1.引入库2.读入数据总结前言函数原型为void *malloc(unsigned int size);malloc()函数接受一个参数:所需的内存字节数。malloc()函数会找到合适的空闲内存块,这样的内存是匿名的。也就是说,malloc()分配内存,但是不会为其赋名。然而,它确实返回动态分配内存块的首字节地址。因此,可以把该地址赋给一个指针变量,并使用指针访问这块内存。从ANSI C标准开始,C使用一个新的类型:指向void的指针。该类型相当于
2021-07-29 12:24:24
122
原创 复合类型(compound type)
复合类型(compound type)是指基于其他类型定义的类型。一条声明语句由一个基本数据类型(base type)和紧随其后的一个声明符(declarator)列表组成。每个声明符命名了一个变量并指定该变量为与基本数据类型有关的某种类型。文章目录引用指针获取对象的地址指针值利用指针访问对象空指针void* 指针二、使用步骤1.引入库2.读入数据总结引用当我们使用术语“引用(reference)”时,指的其实是“左值引用(lvalue reference)”。引用(reference)为对
2021-07-28 10:58:30
1574
原创 指针pointer
从根本上看,指针(pointer)是一个值为内存地址的变量(或数据对象)。假如已知ptr指向bah,如下所示:ptr = &bah;然后使用间接运算符 *(indirection operator)找出储存在bah中的值,该运算符有时也称为解引用运算符(dereferencing operator)。文章目录声明指针变量:名称、地址和值指针和数组声明指针声明指针变量时必须指定指针所指向变量的类型,因为不同的变量类型占用不同的存储空间,一些指针操作要求知道操作对象的大小。另外,程序必
2021-07-27 22:26:45
238
原创 对象定位值
可修改的左值(对象定位值),用于标识可修改的对象。右值可以是常量、变量或其他可求值的表达式。文章目录赋值运算符=加法运算符+递增递减优先级指针数组和指针数组和指针的区别赋值运算符=在C语言中,类似这样的语句没有意义(实际上是无效的)。2002 = bmw;因为在这种情况下,2002被称为右值(rvale),只能是字面常量。不能给常量赋值,常量本身就是他的值。因此,在编写代码时要记住,=号左侧的项必须是一个变量名。实际上,赋值运算符左侧必须引用一个存储位置。最简单的方法就是使用变量名。概括地说
2021-07-27 17:27:42
363
原创 const
const指针和const顶层const有时我们希望定义这样一种变量,他的值不能被改变。const声明语句从右向左读指针和constconst double pi = 3.14; // pi是个常量,它的值不能改变double *ptr = π // 错误:ptr是个普通指针const double *cptr = π // 正确:cptr可以指向一个双精度常量*cptr = 42; // 错误:不能给*cptr赋值指针的类型必须与其所指对象的类型
2021-07-26 23:14:54
153
原创 C++语言
C++历史背景应运而生C++发展应用领域系统层软件开发服务器程序开发游戏、网络,分布式、云计算基础类库/科学计算内容历史背景C语言作为结构化和模块化的语言,在处理较小规模的程序时,比较得心应手,但是当问题比较复杂,需要高度的抽象和建模时,C语言显得力不从心。应运而生为解决软件危机,20世纪80年代,计算机界提出了OOP(object oriented programming)思想,这需要设计出支持面向对象的程序设计语言, Smalltalk就是当时问世的一种面向对象的语言。而在实践中,人们发现
2021-07-26 11:37:03
124
原创 C++编程语言的四个基本准则
C++编程语言的四个基本准则,及其具体的体现文章目录C++编程语言的四个基本准则,及其具体的体现一、最高准则:无二义性。(1)运算符的优先级与结合性。(2)标识符不能以数字开头。(3)贪心规则。(4)多重继承的二义性二、次高准则:高效性(1)数组下标0索引。(2)逻辑短路。(3)编译器自主性:(4)微调控制能力:三、第三准则:合乎日常习惯1.内置函数命名2.语序四、相似相同规则1.变量的初始化2.数组的初始化:3.对象的初始化一、最高准则:无二义性。同一条C++语句不能同时具备两种或多种含义,每一条
2020-10-09 21:42:33
195
转载 语言认识
编译型语言与解释型语言的区别编译型语言编译型语言在程序执行之前,都有一个单独的编译过程,将程序翻译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以,因此其 执行的效率比较高;编译性语言代表:C、C++、Pascal/Object Pascal(Delphi);程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些。解释性语言解释则不同,解释型语言编写的程序不需要编译。解释型语言在运行的时候才翻译,在执行的时候,专门有一个解释器能够将解释型语言翻译成机器语言,每个语句都
2020-09-25 17:08:32
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人