C++
文章平均质量分 92
小新 学编程
这个作者很懒,什么都没留下…
展开
-
C++—模版初阶
那么如何解决上面的问题呢?大家都知道,瓦特改良蒸汽机,人类开始了工业革命,解放了生产力。本质是什么,重复的工作交给了机器去完成。1. 重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函 数。如果类型不匹配,编译器会尝试进行隐式类型转换,如果无法转换成功编译器将会报错。,那将会节省许多头发。巧的是前人早已将树栽好,我们只需在此乘凉。2. 代码的可维护性比较低,一个出错可能所有的重载均出错。类模板实例化与函数模板实例化不同,,对于字符类型也是如此。,对于模板函数的使用,原创 2024-08-02 10:58:07 · 746 阅读 · 0 评论 -
C++—类和对象(下)
因为cout的输出流对象和隐含的this指针在抢占第一个参数的位置。内部类是一个独立的类, 它不属于外部类,更不能通过外部类的对象去访问内部类的成员。,参见友元类的定义,内部类可以通过外部类的对象参数来访 问外部类中的所有成员。在传参和传返回值的过程中,一般编译器会做一些优化,减少对象的拷贝,这个在一些场景下还 是非常有用的。虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对对象中成员变量 的初始化,在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。原创 2024-07-18 11:17:14 · 870 阅读 · 1 评论 -
C++—类和对象(中)
但是 main函数 中不能直接调用Time类的析构函数,实际要释放的是Date类对象,所以编译器会调用Date 类的析构函数而Date没有显式提供,则编译器会给Date类生成一个默认的析构函数,目的是在其内部 调用Time 类的析构函数,即当Date对象销毁时,要保证其内部每个自定义对象都可以正确销毁 main函数中并没有直接调用Time类析构函数,而是显式调用编译器为Date类生成的默认析构函数。这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需 要重载,比如。原创 2024-05-31 19:32:28 · 1310 阅读 · 3 评论 -
C++—类和对象(上)
比如:对于电脑这样一个复杂的设备,提供给用 户的就只有开关机键、通过键盘输入,显示器,USB插孔等,让用户和计算机进行交互,完成日 常事务。虽然指向类的指针p为空,但是我们上面也讲到过,访问类中函数并不在类中,而是在公共代码区,所以并没有执行解引用,而是直接从公共代码区访问函数,那么。同第一个函数一样,但是有一点不一样,Print函数中第二个程序要打印_a,虽然没有解引用,但是_a为类的成员变量,自然这里。,this指针是类的指针,指向对象的首地址,如果类为空那么this指针也自然为空。原创 2024-05-11 22:42:28 · 1870 阅读 · 5 评论 -
C++入门——初步认识C++
熟悉C语言之后,对C++学习有一定的帮助,本章节主要目标: 1. 补充C语言语法的不足,以及C++是如何对C语言设计不合理的地方进行优化的,比如:作用 域方面、IO方面、函数方面、指针方面、宏方面等。如果函数返回时,出了函数作用域,如果返回对象还在(还没还给系统),则可以使用 引用返回,如果已经还给系统了,则必须使用传值返回。举个例子,林冲,绰号豹子头,那么我们说豹子头所做一件事,就同等于林冲做的事情,写一段代码体会一下。其实是这样的,程序的运行需要经过:预处理,编译,汇编,链接,具体情况如下图。原创 2024-05-04 20:26:44 · 2003 阅读 · 7 评论