- 博客(14)
- 收藏
- 关注
原创 模版初步了解
比如:当用double类型使用函数模板时,编译器通过对实参类型的推演,将T确定为double类型,然后产生一份专门处理double类型的代码,对于字符类型也是如此。类模板实例化与函数模板实例化不同,类模板实例化需要在类模板名字后跟<>,然后将实例化的类型放在<> 中即可,类模板名字不是真正的类,而实例化的结果才是真正的类。函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。2. 代码的可维护性比较低,一个出错可能所有的重载均出错。,对于模板函数的使用,
2024-05-22 15:16:09 215
原创 C/C++内存管理
new/delete 和 malloc/free最大区别是:new/delete对于【自定义类型】除了开空间,还会调用构造函数和析构函数new的原理1. 调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作2. 调用operator delete函数释放对象的空间new T[N]的原理。
2024-05-21 16:37:06 475 1
原创 C++类和对象(中篇3完)
还需要自己实现吗?当然像日期类这样的类是没必要的,但对于Stack类等涉及资源管理就必须要实现(这里跟拷贝构造类似)注意:内置类型成员变量是直接赋值的,而自定义类型成员变量需要调用对应类的赋值运算符重载完成赋值。这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需。const对象不可以调用非const成员函数。非const对象可以调用const成员函数。修饰类成员函数,实际修饰该成员函数。这两个默认成员函数一般不用重新定义。,表明在该成员函数中。
2024-05-08 09:41:51 318
原创 C++类和对象(中篇1)
无参的默认构造函数这里把自己显示写的构造函数注释了,在main中创建对象没有报错,下面我们把我们显示写的构造函数放开这里就出错了,Date d1;这里创建对象时调用的是无参构造函数,这里我们显示写了有参的构造函数,编译器就不会默认生成无参构造函数,所以这里找不到无参构造函数就会报错。我们可以在写一个无参构造或用我们前面的知识缺省参数来解决(推荐缺省参数方法)注意:这个类中相当于有两个无参构造函数,Date d1;这个不知道调用无参构造函数,还是缺省构造的函数,调用不明确,所以报错。
2024-04-23 10:51:35 809
原创 C++类和对象(上篇)
class为定义类的键字className为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。接下来我们来看看类的定义不知道各位是否注意到了类的成员变量前面都有一个_,那为什么要这样写呢所以为了区分这样保留了代码可读性,也实现了初始化以上类的定义还差点意思,我们要先了解访问限定符封装、继承、多态。在类和对象刚开始阶段,主要是研究类的封装特性,那什么是封装呢?
2024-04-21 11:53:38 734 1
原创 C++入门开始(第三部分)
C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一 个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。使用auto定义变量时必须对其进行初始化,在编译阶段编译器需要根据初始化表达式来推导auto 的实际类型。因此auto并非是一种“类型”的声明,而是一个类型声明时的“占位符”,编译器在编 译期会将auto替换为变量实际的类型。
2024-04-05 22:59:40 912 1
原创 堆排序的实现+应用
建堆消耗时间K,后面剩余N-K个数据与堆顶进行比较,假设后面剩余的每一个元素都与堆顶进行交换,然后向下调整到完全二叉树的最后一层(向下调整到最后一层时间复杂度为logK(树的高度))这个是造数据的代码,数据存入data.txt这个文件中(这个利用文件指针写入数据,看不懂也没太大关系,知道这个函数的作用就行)将剩余N-K个元素依次与堆顶元素比完之后,堆中剩余的K个元素就是所求的前K个最小或者最大的元素。如果有一个关键码的集合K = { , , ,…前k个最大的元素,则建小堆(大的数据会往下沉)
2024-04-04 18:21:01 605 1
原创 C++入门开始(第一部分)
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。这样就避免了冲突// 变量// 函数// 类型int data;int main()// 特别注意创建结构体变量使用方法return 0;
2024-03-28 22:25:28 521 1
原创 简易版扫雷(数组和函数实践)
根据以上分析我们定义一些常量,后面函数会用这些,后面忘了可以回来看看// 显示出的行// 显示出的列// 实际的行// 实际的列// 地雷个数。
2023-12-15 09:22:09 161
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人