自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 MySQL事务相关问题

事务隔离级别的实现原理:锁+MVCC未提交读:没有做任何的并发控制,安全性低,并发效率高已提交读和可重复读:通过MVCC多版本并发机制实现,结合了安全性和并发的效率都很好,虽然没有用到锁,但也可以手动加锁。串行化:通过共享锁和排他锁实现,对并发的所有事务排序,安全性高,并发效率低。

2024-11-17 21:29:17 492

原创 STL之Vector的常用方法

语法:vector<int> vec;//vec是名字。

2024-11-16 21:37:04 87 1

原创 详解MySQL数据库中的锁

事务隔离级别的实现原理:锁+MVCC未提交读:没有做任何的并发控制,安全性低,并发效率高已提交读和可重复读:通过MVCC多版本并发机制实现,结合了安全性和并发的效率都很好,虽然没有用到锁,但也可以手动加锁。串行化:通过共享锁和排他锁实现,对并发的所有事务排序,安全性高,并发效率低。

2024-11-14 18:37:39 788

原创 C++11新特性

核心:智能指针是通过栈上的对象出作用域后自动析构来实现自动释放资源的。简单的智能指针简单实现代码如下:class CSmartPtr {//一个简单的智能指针public:}//返回的是引用类型为本身,才能将指针的指向修改为20private:T* mptr;public://裸指针//可能由于中间代码的逻辑提前return,导致释放指针的代码没运行到,发生内存泄漏//delete p;//需要手动释放//C++11引出智能指针,保证资源自动释放。

2024-11-13 13:46:33 886

原创 C++中的函数模板和类模板

模板分为函数模板和类模板,函数模板是用于生成函数的,类模板是生成类的。函数模板产生了实例化就是模板函数,也就是具体的函数。类模板产生了实例化就是类模板,也就是具体的类。

2024-11-09 19:37:47 768

原创 MySQL数据库的索引

聚簇索引树:innodb存储引擎下的主键索引树(叶子节点下主键键值和所有数据记录,存储在一块)非聚簇索引树:innodb存储引擎下的二级索引树(叶子节点下存储的是普通索引键值和主键的键值)和MyISAM存储引擎下的主键索引树和二级索引树(叶子节点下索引和所有数据并没有没存在一块且MyISAM下的数据还是寻址形式)innodb为了加速查询,产生一个自适应哈希索引,不是我们创建的,是innodb给我们自动创建的。

2024-11-07 19:28:41 865

原创 C/C++常考问题整理

宏替换是简单的文本替换;typedef是给定义的类型起别名的宏替换发生在编译之前的预处理阶段;typedef发生在编译期间,属于编译的一部分宏替换不检查类型;typedef会检查类型宏替换不是语句,不需要加分号;typedef是语句,要分号结束宏定义在预处理阶段对文本进行替换,不需要函数调用;函数需要代码执行到被调用处才能调用宏定义是直接插入代码,没有返回值;函数具有返回值宏定义没有参数类型;函数参数有返回值,且检查类型声明是把变量的的位置和类型提供给编译器,但不分配内存空间。

2024-10-26 15:15:06 755

原创 到底什么是虚拟内存?

首先学过单片机的同学应该知道单片机是没有操作系统的,编写好的程序是靠工具烧录的,运行的程序是直接访问物理地址的,这时如果两个程序同时写入一块相同位置的物理地址就会造成崩溃。而在我们操作系统的多进程环境下,为了多个进程间的内存地址互不影响,相互隔离,操作系统提出了虚拟内存去解决。也就是给每一个进程都分配一套独立的虚拟地址,至于虚拟地址最终怎么落实映射到物理地址上对于我们来说是透明的,全盘交给操作系统处理。

2024-10-20 16:18:15 995 1

原创 C++如何阻止类创建实例

拥有一个或多个纯虚函数的类叫做抽象类,纯虚函数又是基于虚函数上函数体为0的函数(为0就是没有函数实现,仅仅是一个函数声明),这些若干纯虚函数构成派生类必须去实现的接口。如果抽象类的派生类不去实现接口的具体实现,那么派生类也是抽象类,也不能创建实例。接口:指函数的集合,定义了一个类或多个类(指派生类)的具体实现。有时,把只有纯虚函数而没有其他数据成员的类称之为接口类。抽象类无法创建实例的情况:重写纯虚函数即可创建实例,但不是基类的实例。

2024-07-08 16:38:26 329

原创 校园导航系统(Dijkstra算法,含读写.txt类型文件中)

地图的信息需要保存到一个数据文件中,下图为一个数据文件的例子,在这个例子中,第一行的7代表有7个地点,接下来的7行为7个地点的名称。接下来的12代表这个图共有12 条边,最后的 12行分别代表这12条边,每行的各个数据分别代表起点名称、终点名称、边的长度,边(道路名称和边道路与x轴的夹角。这个数据文件可以通过程序的“保存地图” 菜单得到,也可以用记事本编辑,然后通过程序的“调用地图信息文件”菜单读取到程序中。在想要读取的路径下创建.txt文件。

2024-07-07 13:56:47 561

原创 C++中友元的用处

话不多说直接开门见山!

2024-06-02 21:09:43 334

原创 震惊!如何用QT搭建一个小demo:文本编辑器 [更新完毕]

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供者建立艺术级图形界面所需的所有功能。他是完全面向对象的。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

2024-05-25 20:11:36 378

原创 const的使用

const修饰一个变量的时候代表这个变量不能进行修改,但也不是完全不能修改,可以使用C++11的指针const_cast进行修改,这里可以去了解其他三个,但后续也会更新。

2024-05-21 19:54:11 162 1

原创 C语言和C++的区别

C语言中的NULL的宏定义是(void*)0,而C++中NULL的宏定义是0。这也认证了C语言中的指针类型是可以进行隐式转换的,而C++中相比较就有着严格的类型检查,不允许void*类型的指针进行强制类型转换,因此只能进行强制转换。

2024-05-21 19:16:35 375

原创 C++中如何使用引用

有名字的变量叫左值,例如:a=1,a是左值。右值,例如:2 , 2就是右值。

2023-12-01 19:29:26 385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除