自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (2)
  • 收藏
  • 关注

原创 qt文件断点续传+nodejs搭建本地服务器

安装所需要的包,在项目目录创建一个server.js文件,并添加下面的代码,最后用。用nodjs来搭建一个本地的服务器,用qt编写程序实现文件的上传和断点续传的功能。先去安装一个nodejs,然后在文件夹中。初始化nodejs项目,启动服务器,速成参考。

2024-06-26 17:07:40 466

原创 git用法总结

当前工作区有修改,但是需要切换到其它分支做事情,可以用git栈先存起来,否则checkout时会丢失非暂存区内的内容,等切换回来后再拿出来,git栈是全局的。功能上来看都是进行分支的合并,merge会保留原来的分支结构并产生一个新的提交记录,rebase是进行变基,把一个分支的提交在处理冲突后移到另一个分支后面,HEAD 是一个对当前所在分支的符号引用 —— 也就是指向正在其基础上进行工作的提交记录,用。把暂存区的内容提交到本地仓库,然后清空暂存区用于下一次的提交。git的基本操作可以用下面的图来表示。

2024-06-25 17:57:39 1047

原创 qt基础知识

这段代码的意思就是:用parent参数(不传递的时候默认是nullptr)来指定Widget类对象的父对象,用初始化列表的方式,调用基类QWidget的构造函数并把参数parent传给它进行初始化,同时对成员变量ui进行初始化(ui对象对应着我们的界面文件)。主要用于实例对象间的通信,某个事件发生以后(比如按键按下),它就发出一个信号(类似于广播),如果希望有对象(槽)进行事件的响应,就用QObject类的connect函数把他们连接起来,实现一个事件的注册。3.自定义信号槽的使用。2.标准信号槽的使用。

2024-05-31 17:47:39 509

原创 C++命名空间、条件编译

条件编译是在构建大型项目中常用的方法,我们希望通过它来控制不同的代码段执行,或者根据不同的运行环境来运行对应环境下的代码和库。

2024-05-30 11:25:25 218

原创 QT智能指针与std智能指针性能测试

根据下表可知,独占式智能指针无论是std的还是qt中的,效率基本和裸指针一样,unique_ptr比QScopedPointer慢,推测是move操作导致的,共享式智能指针效率低,主要是维护内部引用计数导致的。产生一个3000万次的迭代,在每次迭代中进行一次指针的创建和传递,用chrono库来记录时间,测试一下不同指针的维护成本。qt6.5.3创建的控制台程序。

2024-05-30 09:57:41 285

原创 QT智能指针详解

QWeakPointer 是 Qt 库中的一种智能指针,用于在不增加对象引用计数的情况下,持有对由 QSharedPointer 管理的对象的非拥有(弱)引用。它用于管理动态分配的对象的生命周期,通过跟踪指向同一个对象的所有 QSharedPointer 实例的数量来实现。当最后一个这样的智能指针被销毁或重置时,所管理的对象也会被自动删除。在多线程环境中,如果多个线程同时对同一个 QSharedPointer 对象执行引用计数的增加和减少操作,Qt 会确保这些操作的原子性,避免了竞态条件和数据竞争。

2024-05-29 17:35:12 995

原创 C++并发编程基础

本文仅对并发的相关基础操作做一个简单的介绍,接下来会更新一些实际的并发使用。

2024-04-01 15:41:22 1678

原创 关于if,if-else的使用

本意是:如果一个数为奇数,对i执行相应的逻辑,如果是偶数的化执行另一个逻辑。但是在执行的时候预期结果和我想的不一样,问题就出在两个if的使用上,如果我想实现原有的逻辑,应该用if-else才对,因为。因此,虽然使用多个if对于代码来说可读性更好,但是涉及到对某个变量进行判断且修改的操作,应当使用if else,要区分好二者。,在上面的代码中,如果第一个条件执行后,i被修改后如果又满足第二个条件,那就会继续执行,这违背了我们的执行目标。今天在写题的时候写了这样一段代码。

2024-03-28 11:27:54 103

原创 力扣C++刷题技巧 容器

本文主要是以个人平时使用的角度来总结这些容器好用的方法。

2024-03-24 18:09:32 395 1

原创 C++强制类型转换

显式类型转换(强制类型转换)并不能解决隐式转换中可能出现的精度损失或符号丢失等问题,而是用来让程序员可以清晰地表达他们的转换意图,同时在某些情况下允许进行那些隐式转换所不允许的操作一般情况下对于初级学者来说,使用static_cast和dynamic_cast就够了,常量转换和重新解释转换就尽量避免使用static_cast:提供编译时类型转换,常规的数据类型转换用它dynamic_cast:提供运行时类型转换,主要用于多态下,基类指针转为派生类指针const_cast:用于添加或去除常量属性。

2024-03-24 15:42:11 1824 1

原创 C++必知必会 C++11实用特性

C++11开始添加了很多好用的新特性,个人认为想要真正掌握这些特性还是需要多读代码,多应用这些特性,本文只记录了一些个人用过的,并结合自己的使用体验讲了一下使用场景。

2024-03-23 20:54:58 2001

原创 智能指针详解

智能指针本质上来讲是一个存储指向堆内存指针的类,目的就是帮助我们管理内存,一旦使用了智能指针就就尽量使用new产生的指针,因为智能指针只维护同类型指针的引用计数,混用很容易造成内存重复释放的问题。

2024-03-23 20:53:18 652

原创 C++必知必会 类和对象

1.目的:避免内存泄漏,在发生多态的时候,子类析构函数如果不是虚析构,无法完成与基类指针的动态绑定,这就意味着子类的析构函数不会被调用,子类对象的空间无法正确被释放。1.浅拷贝:浅拷贝是指将一个对象的内容复制到另一个对象,但是如果有指针指向堆区内存,会出现两个指针指向同一块内存,释放时会造成堆区内容重复释放。一个类从两个基类进行继承,而这两个基类又同时继承于一个类,这样会造成子孙类中有两份祖宗类的数据成员,出现二义性和行为不一致的问题。,拥有纯虚函数的类被称作抽象类,继承抽象类的子类必须重写这个纯虚函数。

2024-03-22 23:03:34 752 1

原创 static的实用

static的一些使用场景

2024-03-09 15:48:13 420

空空如也

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

TA关注的人

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