C++
文章平均质量分 95
C嘎嘎
X_chengonly
真人。。。。。。。
展开
-
【C++】模板1.0和STL简介
该语句不能通过编译,因为在编译期间,当编译器看到该实例化时,需要推演模板参数实际类型,通过实参a将T推演为int,通过实参b将T推演为double类型,但模板参数列表中只有 一个T,编译器无法确定此处到底该将T确定为int或者double类型而报错。有了STL之后,若是我们希望使用某个数据结构或者算法什么的,我们就不需要自己手撕一个出来了,直接使用STL里面的模板生成对应的东西就可以使用了,那不爽歪歪!用不同类型的参数使用函数模板时,也就是用函数模板生成对应模板参数(类型)的函数,称为函数模板的实例化。原创 2024-08-04 20:46:34 · 829 阅读 · 0 评论 -
【C++】内存管理
使用new操作符进行动态内存管理也是有失败的风险的,当失败了就会抛异常,但是吧,俺们平时写的小程序申请那三瓜两枣的空间一般是不会失败的,一般不必担心,所以俺就不检查了。的意思是有一个存放在代码段的常量字符串"abcd\0"(其实代码段存放的是"abcd\0"的ASCII码),pChar是栈上的一个指针变量,这个指针变量指向常量字符串"abcd\0"的首元素。的意思是使用malloc函数在堆区申请了16个字节的空间,ptr1是栈上的一个指针变量,这个指针变量指向这块堆区开辟的空间的首元素。原创 2024-07-30 01:08:30 · 720 阅读 · 0 评论 -
【C++】日期类
鼠鼠实现了一个日期类,用来练习印证前几篇博客介绍的内容!!本鼠创建一个工程,工程包含三个文件,分别是Date.h、Date.cpp和test.cpp。1.日期类的定义本鼠对日期本鼠对于成员函数大部分都采取声明和定义分离的方式。成员变量无非就是年、月、日呗。还运用了友元的知识。如上代码所示。2.得到某年某月的天数对于这个日期类所要实现的成员函数中有很多场景我们需要得到某年某月的天数,所以我们将这个功能实现成函数。又因为需要频繁调用这个函数,我们将他实现成内联函数。3.检查日期是否合法。原创 2024-07-05 22:25:06 · 1095 阅读 · 2 评论 -
【C++】类和对象3.0
但是如果自定义类型成员没有默认构造函数的情况下,如果我们不在初始化列表显式写该成员,编译器是不知道该如何调用俺们显式实现的构造函数的,所以编译器会认为没有合适的默认构造函数可用,就报错了,所以这种情况我们必须在初始化列表显式写,也就是显式调用其构造函数。难道是对象的具体成员变量定义的位置是在构造函数的函数体当中吗,当然不是,原因跟上面一样,函数体内关于某成员变量的语句可以多次出现,如果说关于某成员变量的语句第一次出现是其定义,那么当关于其成员变量的语句多次出现时,难道其成员变量可以多次定义吗?原创 2024-07-05 22:23:58 · 941 阅读 · 0 评论 -
【C++】类和对象2.0
看主函数第一条语句创建Date类类型的对象d1,由于Date类中没有显式定义构造函数,就通过编译器生成的默认构造函数创建对象d1,由于内置类型成员变量在类的声明中给了缺省值,这个编译器生成的默认构造函数就将d1的内置类型成员变量初始化成了缺省值,对于d1的自定义类型成员变量_t,去调用它的默认构造函数Time()(本鼠显式定义了),所以d1的自定义类型成员变量_t的成员变量分别被初始化成了14、57、30。很简单,对象a是被const修饰的常对象 ,调用Print函数隐藏的this指针接收a的地址。原创 2024-06-23 02:01:05 · 827 阅读 · 0 评论 -
【C++】类和对象1.0
我们看PrintA函数内部需要用到this指针解引用的哦,this指针接收到的值是空指针,而且成员变量_a是存储在this指向的空间里面的(成员变量存储在类实例化对象里面),当然会崩溃了。这两个对象个中成员变量是不同的(需要存储不同的属性,所以说是不同的),但是调用同一份函数(类方法是一样的)。this指针是隐藏起来的,拿上面代码来说:当d1调用Init函数时,传递的实参不仅仅有明面上的2024、6和4,还有该对象的地址,即d1的地址,而且第一个传递d1的地址。这些都是编译器完成的,我们不应该显示写出来。原创 2024-06-04 02:06:19 · 526 阅读 · 0 评论 -
【C++】C++入门2.0
各位读者老爷好,本鼠最近浅学了一点C++的入门知识!利用本博客作为笔记的同时也希望得到各位大佬的垂阅!原创 2024-05-30 21:05:36 · 985 阅读 · 0 评论 -
【C++】C++入门1.0
首先我们要知道C++中的域分为:1.全局域;2.局部域;3.命名空间域;4.类域。这个知识对于命名空间的介绍有帮助所以提前介绍。那么开始介绍命名空间如下:定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员。注意:以下代码如果写在.c文件中会报错!1.正常的命名空间定义。// HD是命名空间的名字,一般开发中是用项目名字做命名空间名// 命名空间的成员可以定义变量/函数/类型struct LCDint age;原创 2024-05-29 00:19:08 · 895 阅读 · 0 评论