- 博客(10)
- 收藏
- 关注
原创 C++模板初阶
1、函数模板代表了一个函数家族,该函数模板与类型无关,在使用时根据实参类型产生函数的特定类型版本2、标准模式3、函数模板不是真正的函数,只是一个模具,在函数编译阶段,编译器通过传来的参数类型来推演生成对应类型的函数以供调用。例如上面的swap函数,传来的参数是double类型时,生成一份专门处理double类型的函数,对其他类型也一样。4、因为函数需要根据传参的类型来推衍相应的函数,所以传参类型不一致的话,会导致编译器报错。在此时就可以人为规定数据类型来进行编译。
2024-03-07 22:53:00 278
原创 C++内存管理
1、栈(又名堆栈),存储飞惊天局部变量、函数参数、返回值等等,栈是向下增长的2、内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可以使用系统接口创建共享内存,做进程间通信。(学习Linux会学到详细的)3、堆用于程序运行时的动态内存分配,堆是可以向上增长的4、数据段——存储全局数据和静态数据5、代码段——可执行的代码和只读常量。
2024-03-07 20:03:46 1018
原创 C++初学笔记(二)
例如:double a=1;这条语句是把整型数1赋值给一个double类型的变量,需要先把1进行隐式类型转换变成一个无名的double类型数据,然后再拷贝给a,如果在自定义类型时前面加上了explicit,则会拒绝这种隐式类型转换,例如:Date A;则A=1这种方式就会编译失败。1、内部类是外部类的友元类,但外部类不是内部类的友元类(所以内部类可以访问外部类的public/protected/private数据,但是外部类不能访问内部类的protected/private数据)
2024-03-07 19:06:32 1085
原创 链表初学笔记
带头双向循环链表看起来结构复杂,但其实在数据的储存、删除、查找、修改方面在程序上更容易实现。它的优势体现在,即使链表中没有存储任何数据,也存在一个头结点,因此,此链表在很多情况下无需考虑是否需要判空;同时,因为链表中的每个存储数据都带有指向上一个结点和下一个节点的指针,因此在增加、删除数据时可以更容易操作,无需向顺序表那样还需修改表中其余存储数据的位置。总体来说,带头循环双向链表是一个结构相对复杂,但是在编程方面确是很方便使用的一个数据结构。其中最常用的是两种结构:无头单项非循环链表,和带头双向循环链表。
2024-03-01 02:18:29 280 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人