- 博客(83)
- 收藏
- 关注
原创 C语言/C++编程入门必备:7个步骤全解密
一旦你对程序要实现的功能有了概念性认识,就需要决定如何实现这些功能,设计用户界面的外观,组织程序的结构,明确目标用户,并规划完成程序开发的时间等等。但是,这不是什么丢脸的事情,每个人都会犯错误,你被一个错误折腾的焦头烂额的时候,你才会深刻的记住这个错误,然后下次不会再犯。此外,编译器还会检查你的程序是否是有效的C语言程序。不管你是转行也好,初学也罢,进阶也可,如果你想学编程,拿高薪~ 欢迎私信我 关注我的C/C++学习交流群 问题答疑,学习交流,技术探讨,还有很多编程资源大,零基础项目视频。
2023-08-08 13:39:02
365
原创 编程带来的财富!学习编程能够从事的高薪行业
不管你是转行也好,初学也罢,进阶也可,如果你想学编程,拿高薪~ 欢迎私信我 关注我的C/C++学习交流群 问题答疑,学习交流,技术探讨,还有很多编程资源大,零基础项目视频。借助您的代码之力,必然能吸引到雇主,无需担心找不到工作,因为工作会自动找上门来!国内的魅族、小米等手机制造企业,虽然硬件部分大部分是外购的,操作系统采用Android,但是他们生产自己的手机仍需要编程人员进行开发工作。此外,还有许多职业领域,几乎无所不在。在国内,BAT是领先的互联网公司,他们的业务领域都需要大量的编程人员参与。
2023-08-07 15:25:40
317
原创 C语言编程工具软件推荐!
VS是目前最受欢迎的适用于Windows平台应用程序的综合开发环境,由于大多数同学使用的都是Windows操作系统,因此VS非常适合大家。在日常课堂和考试中,我们使用的VS2010支持多种不同的编程语言,VS2010最初支持的语言包括:Visual Basic、Visual C#、Visual C++、Visual F#等四种编程语言。而现在,微软在2019年4月2日发布了Visual Studio 2019,引入了实时共享功能,并对VS的调试功能进行了优化,使其变得更加高效和便捷。
2023-08-05 16:01:12
8261
5
原创 C语言编程技巧 全局变量在多个c文件中公用的方法
如果是普通类型的变量,完全可以不使用*.h文件,在*.c文件中直接定义它,在调用该变量的文件中使用extern关键字进行声明。具体做法是在其中一个c文件中定义全局变量"key",然后在另一个需要使用"key"的c文件中使用extern关键字进行声明,表明这个变量是在其他c文件中定义的全局变量。一种方法是在common.h文件中声明一个unsigned char类型的变量"key",然后由于main.c和common.c都包含了该头文件,因此这个"key"变量在两个文件中都是可见的,从而实现了共用。
2023-08-03 14:13:35
2513
1
原创 编程:必备技能还是浪费时间?
在这样的环境中,思考能力也在不断演进和更新。排队归根结底是先来先服务或后来后服务的模式,不受排队人员的身份,队伍长度等外在表象的影响,而是提取出了这种模式,这就是抽象化。通过这种抽象化的练习,你将获得快速洞察事物本质的能力,从而在解决各种问题时能够快速找到问题的本质,提高解决问题的能力。将我们头脑中的想法转化成可见的形式,使得我们能够抓住它们,进而理解、审视,并最终改进它们,从而提高我们的思考能力。通过在编程世界中的实践,这些技能将成为我们头脑中的助推器,帮助我们在面对各种挑战时拥有更强大的思考能力。
2023-08-02 13:52:03
144
原创 零基础应该如何学习计算机编程?
如果你希望深入了解计算机并与其进行更多交流,涉及硬件方面,即作为底层程序员,这方面的知识是必要的。不过,如果你有一定的文化基础,从小到大形成了一定的逻辑思维,那已经足够应付这点逻辑思维需求了。在一些公司中,会有详细的分工,一个人只需要掌握其中一种技术就可以,其他工作则交给专业的人员处理。可以这样说,每个人都会与上层程序员有所接触,或者更准确地说,每个人都会直接或间接地与他们所编写的软件进行交互。提到程序员,你可能会联想到一天坐在电脑前,敲击键盘,屏幕上满是字符和数字,因此也将编程与英语挂上钩。
2023-08-01 13:34:14
149
原创 怎么学习C语言,才能快速掌握?
代码可以直接获得,从理解代码开始,即使只能理解部分,也是一种巨大的进步。在没有真正实战经验之前,不宜轻易声称掌握某种编程语言,因为编程是积累性的工作,理论知识重要但实践更为关键。例如,Linux内核源代码中涉及内核机制的部分通常较难理解,重要的是能够灵活运用C语言的基础概念。学习C语言前,必须先了解计算机组成原理,了解计算机的运作方式以及内存和CPU的工作原理,还要熟悉进制转换等基础知识。对于初学者来说,这可能比较困难。有些学校的老师可能会接一些项目,并需要一些基础不错的学生一起合作完成,这是很好的机会。
2023-07-31 14:17:55
247
原创 C语言【怎么定义变量?】
在这里,"type"必须是一个合法的C数据类型,可以是"char"、"w_char"、"int"、"float"、"double",或者是用户自定义的对象。在C语言中,变量声明是向编译器保证某个变量以指定的类型和名称存在,这样编译器在不需要知道变量的完整细节的情况下也能继续进一步的编译。不带初始化的定义:具有静态存储持续时间的变量会被隐式初始化为NULL(所有字节的值都是0),而其他所有变量的初始值是未定义的。"表示创建了类型为整数(int)的三个变量,它们的名称分别是"i"、"j"和"k"。
2023-07-29 14:26:15
1268
原创 小白编程入门要怎么学?
9、如果你已经熟练掌握了以上的知识,就可以开始学习C++的课程了。先找本C++入门书籍,再选择一本VC的入门书籍,花一个星期的时间学习VC的界面和使用方法,这样就可以开始制作一些简单的应用程序了!工作需要、感兴趣、为了入行、转行需要学习C/C++的伙伴可以私信或者进入学习群跟我一起学习 助你早日成为一名优秀的程序员,想要学习更多知识可以关注我哦!5、掌握了汇编的基础后,再学习C语言中的精华——指针,就会得心应手了。1、如果你已经掌握了Windows的使用,你就可以踏上编程之旅了,开始游戏式的程序开发!
2023-07-28 13:34:05
269
原创 C语言中enum类型的全面解析,让你彻底掌握!
在“枚举”类型的定义中,列出了所有可能的取值,而该“枚举”类型的变量只能取这些值范围内的数值。1. 枚举值是常量,而不是变量,因此不能在程序中使用赋值语句来对其进行更改。所以,在"weekday"中,sun对应的值为0,mon对应的值为1,一直到sat对应的值为6。定义了一个名为weekday的枚举类型,它包含7个枚举值,代表一周中的七天。例如,对于变量a、b、c,它们被说明为表示"星期几"的枚举类型,可以采用以下三种方式之一:;说明: 只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。
2023-07-27 13:53:09
411
原创 解决C语言编程常见问题,轻松提高编程水平!
如果仍无法解决,可以向在线群里请教有经验的人,但提问也需要讲究技巧:首先描述程序的功能,然后解释错误原因、出现位置以及你自己的分析。这里就运行不了,编译器也崩溃了,乱报错,啥都有,你要是不注意根本找不到问题!虽然你已经包含了头文件并编写了输出代码,在别人那里也能运行,但要注意,并非所有的函数在C语言中都自带,有些需要额外安装,easyx就是其中之一。此时,你盯着代码发呆。1、在进行if条件判断时使用了赋值运算符=,而不是逻辑运算符==(if(a=b)和if(a==b)是完全不同的,相信大家都遇到过)。
2023-07-25 14:49:57
208
原创 C语言编程必备技能!小写转大写
② "getchar" 函数的作用是从键盘输入一个字符。在C语言中,要区分字母的大小写,可以利用ASCII码中大写字母和小写字母之间的转换关系,差值为32,通过这个差值可以将小写字母转换为大写字母。下面编写程序实现该功能:从键盘输入一个小写字母,按回车键后,程序将该小写字母转换为大写字母,并输出其ASCII值。3. 将变量a的ASCII码值减去32,并将结果赋给变量b,得到对应的大写字母的ASCII码值。转换后的字母为:"C",ASCII 值为 67。转换后的字母为:"M",ASCII 值为 77。
2023-07-22 14:13:08
6885
原创 新出炉!7月编程语言榜发布,C++发起进攻!
一、TIOBE统计数据(2023年7月)TIOBE Index编程社区指数是编程语言流行度的一个指标。评级基于全球熟练工程师的数量、课程和第三方供应商的数量。、维基百科、亚马逊、YouTube 和百度等流行搜索引擎用于计算评级。七月头条:C++即将超越C几个月前,编程语言C++声称在TIOBE索引中排名第3(以牺牲Java为代价)。但C++还没有完成它的崛起。C似乎是它的下一个受害者。目前,两者之间的差距仅为0.76%。除此之外,本月还有其他一些有趣的举动。
2023-07-14 14:04:38
212
原创 C语言宏定义
根据 ANSI 标准,有五个预定义的宏名可供我们使用,它们分别是:_LINE_、_FILE_、_DATE_、_TIME_ 和 _STDC_。然而,需要注意的是,如果编译程序不是标准的,可能只支持其中的几个宏名,甚至根本不支持。通过合理利用这些宏,我们可以提高代码的质量和可维护性,从而更加高效地进行软件开发。以上仅是一部分常用的宏定义示例,在实际的软件开发中还有更多的宏定义用于简化代码、增加可读性和提高可移植性。C语言中,宏定义是一种在编译阶段进行文本替换的机制,可以提高代码的可读性、可移植性和方便性。
2023-07-14 13:36:44
574
原创 C语言实现毕达哥拉斯树 你需要知道的一切!
曼德尔勃罗特是一位擅长计算机和数学的法国数学家,他开创了分形几何学这一新的数学分支。它涉及数学上基于递归的反馈系统,通过不断迭代的方程式生成分形。毕达哥拉斯树是根据毕达哥拉斯的勾股定理绘制的图形,它可以无限重复。1. 确定直线p1-p2,并在p1-p2的左侧找到p11-p22,使得p1-p2-p22-p11构成一个正方形。3. 将直线p-p11和p-p22分别视为p1-p2,进行递归操作。递归的条件是正方形的边长大于3。2. 找到点p,使得p-p11-p22构成一个含有60度角的直角三角形。
2023-07-13 13:48:27
156
原创 数组最值查找,C语言必备技能,快速掌握!
继续遍历数组,直到遍历完整个数组,此时 max 中记录的就是数组中的最大值,min 中记录的就是数组中的最小值。如上所述,在运用"分而治之"的思想下,我们将问题"找到{3, 7, 2, 1}中的最值"转化为先找出{3, 7]、[2, 1}各自的最值,然后再对这些最值进行比较,最终找到整个数组的最值。接下来,我们以序列 {3,7,2,1} 为例,介绍两种查找最值的算法。普通算法的解决思路如下:创建两个变量 max 和 min,分别用于记录数组中的最大值和最小值。它们的初始值都设置为数组中的第一个数字。
2023-07-12 14:13:24
282
原创 C语言为什么是世界上最难的语言?看完你就明白了
尽管C++的应用给整个IT行业带来了巨大的变革和便利,但我们也应该意识到,在C++的垄断下,我们对于开发新的基础框架的选择受到了限制。这为我们提出了一个重要的问题:如何在C++的基础上发展出更加多样化和创新的软件技术,以促进行业的进一步发展和竞争力的提升。有趣的是,当你学习了一年的C++之后,无论你是否真正掌握了C++,学习其他编程语言会感觉变得容易许多。C语言是C++的前身,而C++最初是带有类的C语言。这些不同的范式和模式使得C++具有很高的灵活性和表达能力,但同时也增加了学习和理解的难度。
2023-07-11 14:10:50
500
原创 C语言链栈和基本操作 【绝对不能错过!】
在链栈的示意图中,若要移除元素 3,根据"后进先出"的原则,首先需要移除元素 4,即从链表中取出,然后才能使元素 3 出栈。链式栈的实现思路与顺序栈类似,顺序栈将数组的一端作为栈底,另一端作为栈顶。例如,将元素1、2、3、4依次入栈,相当于将这些元素按照头插法依次添加到链表中。将链表的头部作为栈顶端可以避免在进行"入栈"和"出栈"操作时需要遍历整个链表,从而提高效率。- 在执行"入栈"操作时,需要将数据插入链表的头部。弹栈元素:4 栈顶元素:3。弹栈元素:3 栈顶元素:2。弹栈元素:2 栈顶元素:1。
2023-07-08 13:53:44
149
原创 C语言代码美学:让你惊叹的经典示例
C语言的输出功能非常强大,通过printf函数可以实现各种赏心悦目的输出效果。跟前面的hello world一致,这次依旧是包含两种文件,一个是源码文件print.c,另外一个就是Makefile了。这里的回车指的是在同一行中重新开始而不换行,它是ASCII码为13的特殊字符,而换行是ASCII码为10的特殊字符。代码很简单,如下所示,你就能看到进度条的效果了。但是,如果在我们不知道数字是多少,字符串是多少的时候怎么来做呢,就是制表符的效果了。使用制表符\t可以在输出中插入一个制表符,实现文本的对齐效果。
2023-07-06 14:13:31
407
原创 C语言的strcpy()函数
strcpy()函数的简介strcpy()函数用于将一个字符串拷贝到另一个内存地址的函数,拷贝停止的条件是遇到'\0',同时会将'\0'一同拷贝到目标地址。下面是strcpy()函数的声明:1. 函数的参数:char* destination---------目标字符串的首地址const char* source------源地址:被复制的字符串的首地址,用const修饰,避免修改掉被拷贝的字符串2.函数的返回值类型:char*:返回的是目标字符串的首地址。
2023-07-04 14:45:25
1529
原创 怎样在C语言软件开发代码中加入音乐?
在程序中,首先使用open命令打开background.mp3,并通过alias指定别名为“mymusic”,这样在后续代码中可以方便地通过“mymusic”访问该音乐。然后可以使用“play mymusic”开始播放,使用“stop mymusic”停止播放,使用“close mymusic”关闭文件。mciSendString函数功能强大,甚至可以播放视频,但在这里不做详细介绍,请参阅MSDN获取详细信息。如果需要同时播放多个音乐,请为不同的音乐指定不同的别名,然后分别操作即可。
2023-07-03 15:42:48
1781
原创 【奇牛编程】2023年1-6月学员就业数据公布!
从2023年1月1日,到2023年6月27日截止,共计就业学员67名已经顺利就业或已拿到Offer等待入职。现将2023年上半年的详细数据,统计分析如下,给准备毕业和入职IT的同学作为参考。我们的愿景是在实战中学习,在项目中成长,让兴趣与成就颠覆传统教育,零障碍成为IT高端人才。我们的目的是让所有IT学习者,不分年龄、不分职业,平等地享有一流的IT教育服务。数据分析如下:学员就业薪资范围、学员就业学历占比数据、学员入职企业占比数据)暨至2023年6月30日,奇牛编程2023年上半年就业工作正式完成。
2023-07-01 15:29:19
215
原创 C语言和C++有什么关系?区别在哪里?
C语言是一种通用的高级编程语言,具有结构化编程、指针等特性,被广泛应用于操作系统、编译器、数据库、网络等领域。C语言的设计目标是提供一种能够进行系统编程和应用程序开发的高效而简洁的工具。在C++中,可以使用类、继承、多态等面向对象的概念来组织代码,这使得程序更加易于理解和维护。总而言之,C++可以看作是在C语言基础上进一步发展而来的一种编程语言,它继承了C语言的许多特性,并引入了许多新的特性。C++继承了C语言的许多特性,如面向过程、结构化编程等,同时还引入了许多新的特性,如面向对象、泛型编程等。
2023-05-15 14:07:01
264
1
原创 C语言文件操作
其中,ptr是指向要写入数据的指针,size是每个数据块的字节数,count是要写入的数据块数量,stream是输出流。fprintf()函数将格式化字符串中包含的数据写入到指定的输出流(即已经打开的文本格式的文件)。fread()函数从指定输入流(即已经打开的二进制格式的文件)中读取指定长度和数量的二进制数据。fwrite()函数将指定长度的二进制数据写入到指定的输出流(即已经打开的二进制格式的文件)。要向一个已经打开的文本或二进制格式的文件中写入数据,可以使用fprintf()和fwrite()函数。
2023-05-06 13:12:09
1576
原创 C++ typeid运算符:获取类型信息
遗憾的是,C++ 标准只对 type_info 类做了很有限的规定,不仅成员函数少,功能弱,而且各个平台的实现不一致。typeid 返回 type_info 对象的引用,而表达式typeid(a) == typeid(b)的结果为 true,可以说明,一个类型不管使用了多少次,编译器都只为它创建一个对象,所有 typeid 都返回这个对象的引用。等动态性较强的语言,C++ 能获取到的类型信息非常有限,也没有统一的标准,如同“鸡肋”一般,大部分情况下我们只是使用重载过的“==”运算符来判断两个类型是否相同。
2023-04-21 13:18:00
450
原创 C++ static静态成员函数详解
而静态成员函数没有 this 指针,只能访问静态成员(包括静态成员变量和静态成员函数)。普通成员变量占用对象的内存,静态成员函数没有 this 指针,不知道指向哪个对象,无法访问对象的成员变量,也就是说静态成员函数不能访问普通成员变量,只能访问静态成员变量。普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员。普通成员函数必须通过对象才能调用,而静态成员函数没有 this 指针,无法在函数体内部访问某个对象,所以不能调用普通成员函数,只能调用静态成员函数。
2023-04-18 13:23:06
177
原创 C++四种类型转换运算符
不同类型的数据存储格式不一样,长度也不一样,用 A 类型的指针指向 B 类型的数据后,会按照 A 类型的方式来处理数据:如果是读取操作,可能会得到一堆没有意义的值;当使用 dynamic_cast 对指针进行类型转换时,程序会先找到该指针指向的对象,再根据对象找到当前类(指针指向的对象所属的类)的类型信息,并从此节点开始沿着继承链向上遍历,如果找到了要转化的目标类型,那么说明这种转换是安全的,就能够转换成功,如果没有找到要转换的目标类型,那么说明这种转换存在较大的风险,就不能转换。
2023-04-16 13:30:29
545
原创 C++ cout格式化输出
注意,如果两个相互矛盾的标志同时被设置,如先设置 setiosflags(ios::fixed),然后又设置 setiosflags(ios::scientific),那么结果可能就是两个标志都不起作用。因此,在设置了某标志,又要设置其他与之矛盾的标志时,就应该用 resetiosflags 清除原先的标志。其中,对于表 1 中 flags() 函数的 fmtfl 参数、setf() 函数中的 fmtfl 参数和 mask 参数以及 unsetf() 函数 mask 参数,可以选择表 2 中列出的这些值。
2023-04-14 13:08:43
353
原创 C++移动和获取文件读写指针
ios::cur:在此情况下,offset 为负数则表示将读指针(或写指针)从当前位置朝文件开头方向移动 offset 字节,为正数则表示将读指针(或写指针)从当前位置朝文件尾部移动 offset字节,为 0 则不移动。ios::end:让文件读指针(或写指针)指向从文件结尾往前的 |offset|(offset 的绝对值)字节处。要获取文件长度,可以用 seekg 函数将文件读指针定位到文件尾部,再用 tellg 函数获取文件读指针的位置,此位置即为文件长度。文件开头的位置是 0。
2023-04-12 13:13:32
1082
原创 C++友元函数和友元类(C++ friend关键字)
② 程序将 Student 类的声明和实现分开了,而将 Address 类的声明放在了中间,这是因为编译器从上到下编译代码,show() 函数体中用到了 Address 的成员 province、city、district,如果提前不知道 Address 的具体声明内容,就不能确定 Address 是否拥有该成员(类的声明中指明了类有哪些成员)。,指向调用它的对象,从而使用该对象的成员;不仅可以将一个函数声明为一个类的“朋友”,还可以将整个类声明为另一个类的“朋友”,这就是友元类。
2023-04-10 13:12:57
402
转载 C++纯虚函数和抽象类详解
p 的类型是 Line,但是它却可以访问派生类中的 area() 和 volume() 函数,正是由于在 Line 类中将这两个函数定义为纯虚函数;所谓实现,就是定义了纯虚函数的函数体。1) 一个纯虚函数就可以使类成为抽象基类,但是抽象基类中除了包含纯虚函数外,还可以包含其它的成员函数(虚函数或普通函数)和成员变量。2) 只有类中的虚函数才能被声明为纯虚函数,普通成员函数和顶层函数均不能声明为纯虚函数。纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数。
2023-04-07 13:21:41
635
原创 C++输入输出(cin和cout)
C++ 库定义了大量的类(Class),程序员可以使用它们来创建对象,cout 和 cin 就分别是 ostream 和 istream 类的对象,只不过它们是由标准库的开发者提前创建好的,可以直接拿来使用。C++ 中的输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。第 8 行代码将输入的整型数据输出。语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。
2023-04-06 13:14:16
759
原创 C++多继承(多重继承)详解
在前面的例子中,派生类都只有一个基类,称为。除此之外,也支持,即一个派生类可以有两个或多个基类。多继承的语法也很简单,将多个基类用逗号隔开即可。例如已声明了类A、类B和类C,那么可以这样来声明派生类D://类D新增加的成员D 是多继承形式的派生类,它以公有的方式继承 A 类,以私有的方式继承 B 类,以保护的方式继承 C 类。D 根据不同的继承方式获取 A、B、C 中的成员,确定它们在派生类中的访问权限。
2023-04-04 13:17:48
795
原创 C++文件类(文件流类)及用法详解
值得一提的是,和 头文件中定义有 ostream 和 istream 类的对象 cin 和 cout 不同, 头文件中并没有定义可直接使用的 fstream、ifstream 和 ofstream 类对象。值得一提的是,无论是读取文件中的数据,还是向文件中写入数据,最先要做的就是调用 open() 成员方法打开文件。其实很简单,文件输入流和输出流的输入输出设备是硬盘中的文件,硬盘上有很多文件,到底应该使用哪一个呢?这 3 个文件流类的继承关系,如图 1 所示。
2023-04-03 13:27:02
511
原创 C++布尔类型(bool)
bool 类型只有两个取值,true 和 false:true 表示“真”,false 表示“假”。遗憾的是,在 C++ 中使用 cout 输出 bool 变量的值时还是用数字 1 和 0 表示,而不是 true 或 false。在C语言中,关系运算和逻辑运算的结果有两种,真和假:0 表示假,非 0 表示真。等也都支持布尔类型,但输出结果为 true 或 false,我武断地认为这样更科学。在以后的编码中,我推荐使用 bool 变量来表示逻辑运算、关系运算以及开关变量的值。中得到了改善,C++ 新增了。
2023-04-01 13:16:45
1106
转载 C++ inline内联函数详解
使用内联函数的缺点也是非常明显的,编译后的程序会存在多份相同的函数拷贝,如果被声明为内联函数的函数体非常大,那么编译后的程序体积也将会变得很大,所以再次强调,一般只将那些短小的、频繁调用的函数声明为内联函数。由于内联函数比较短小,我们通常的做法是省略函数原型,将整个函数定义(包括函数头和函数体)放在本应该提供函数原型的地方。当函数比较复杂时,函数调用的时空开销可以忽略,大部分的 CPU 时间都会花费在执行函数体代码上,所以我们一般是将非常短小的函数声明为内联函数。)来结束自己的生命,从而结束整个程序。
2023-03-31 13:33:12
510
原创 C++类模板入门教程
C++ 除了支持函数模板,还支持。函数模板中定义的类型参数可以用在函数声明和函数定义中,类模板中定义的类型参数可以用在类声明和类实现中。类模板的目的同样是将数据的类型参数化。声明类模板的语法为:template class 类名{ //TODO: };类模板和函数模板都是以 template 开头(当然也可以使用 class,目前来讲它们没有任何区别),后跟类型参数;类型参数不能为空,多个类型参数用逗号隔开。
2023-03-30 13:18:53
373
原创 C++将派生类赋值给基类(向上转型)
在 C/中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值;反过来,float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量。数据类型转换的前提是,编译器知道如何对数据进行取舍。例如:输出结果为 10,编译器会将小数部分直接丢掉(不是四舍五入)。再如:输出结果为 10.000000,编译器会自动添加小数部分。
2023-03-29 13:15:47
444
原创 C++析构函数详解
创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作,例如释放分配的内存、关闭打开的文件等,这个函数就是析构函数。析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要程序员显式调用(程序员也没法显式调用),而是在销毁对象时自动执行。构造函数的名字和类名相同,而析构函数的名字是在类名前面加一个符号。注意:析构函数没有参数,不能被重载,因此一个类只能有一个析构函数。如果用户没有定义,编译器会自动生成一个默认的析构函数。
2023-03-28 13:17:57
627
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人