- 博客(9)
- 收藏
- 关注
原创 01 数据库基础知识
数据库:存储有组织的数据集合,用于存储、管理和检索大量数据。数据库可以包含一个或多个表,每个表由行和列组成,用于存储特定类型的信息。数据库的概念模型是对数据库中数据及其关系的高层次抽象,是数据库设计的一个重要阶段。概念模型独立于物理存储和具体的数据库管理系统,旨在通过实体、属性和关系来全面描述业务需求。DBMS 是用于定义、创建、管理和操纵数据库的软件。数据:指对现实世界各种事物的描述和记录,可以是数字、文字、图像、声音、视频等形式。数据是信息的载体,通过加工和处理可以转化为有用的信息。
2024-07-25 22:39:38
377
原创 09 智能指针
智能指针:保证能做到资源的自动释放;是利用栈上的对象出作用域自动析构的特征,来做到资源的自动释放的。堆内存管理示例(使用智能指针)堆内存管理示例(手动管理)是C++98标准库中的智能指针类型,但由于其语义不明确且容易导致资源管理问题,它在C++11中被弃用。auto_ptr的问题主要在于其复制语义:复制一个 auto_ptr 会将资源的所有权从一个auto_ptr 转移到另一个,而不是复制资源。scoped_ptr。
2024-07-16 19:42:50
319
原创 07 STL(标准模板库)
底层数据结构:是动态开辟的数组,每次以原来空间大小的2倍进行扩容。vector提供了operator[](中括号运算符重载函数),用来随机访问。vector本身也是一个数组,有着随机访问的特点,可以用下标的随机访问,例如vec[5]。iteratorfindfor_each:对容器进行连续插入或者删除操作(insert/erase),一定要更新迭代器,否则第一次insert或者erase完成,迭代器就失效了。返回底层容器有效元素的个数。判断容器是否为空。vector预留空间的;
2024-07-15 17:29:02
855
原创 06 继承与多态
一个类里面定义了虚函数,那么编译阶段,编译器给这个类类型产生一个唯一的vftable虚函数表,虚函数表中主要存储的内容就是RTTI指针和虚函数的地址。当程序运行时,每一张虚函数表都会加载到内存的.rodata区。
2024-07-13 23:52:33
1000
原创 05 运算符重载
上面代码中的a,b没有指定类型,可以任意实例化类型。如果a + b是普通类型,内置编译器可以自行编译计算,但a和b是对象类型,编译器不知道对象如何相加,要用运算符重载。对此提供相应的输入和输出运算符重载函数,都是在全局作用域下实现的,如下。:使对象的运算表现的和编译器内置类型一样。括号中带一个整型参数的,为后置++。达到和内置编译器同样的输入和输出形式。扩号中无参数,为前置++。
2024-07-12 23:11:40
1048
原创 04 C++模板
在函数的调用点进行实例化可以使用typename或者class定义模板参数列表,通常使用typename都是常量,只能使用,不能修改允许模板在编译时使用常量值;非类型参数可以是整数、枚举值、指针或引用等,这些参数在编译时必须是常量;通常用于数组的大小、固定大小的数据结构或编译时计算。可以根据用户传入的实参的类型,来推导出模板类型参数的具体类型编译器会优先找非模板函数(普通函数),没有才去找compare模板函数constcharintint。
2024-07-09 21:52:02
366
原创 03 面向对象(OOP)-类和对象
C:各种各样的函数的定义 structC++:类 => 实体的抽象类型实体(属性,行为) -> ADT(abstract data type)对象 成员变量,行为->成员方法)抽象,封装(隐藏),继承,多态。
2024-07-08 23:44:34
642
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅