自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【无标题】

122

2022-07-15 20:30:38 111 1

转载 Deepin虚拟机与Windows本机设置共享文件夹,实现文件交互

1、在deepin系统中新建一个文件夹,然后右击选择共享文件夹如下勾选共享此文件夹,然后分配相应读写权限2、查看deepin系统ipifconfig3、windows系统中访问deepin系统共享文件夹win+r 输入 \\deepin系统ip地址 回车 如: \\172.29.178.162如下,我们可以看见在deepin系统中共享的文件夹~原文链接:https://blog.csdn.net/qq_38225558/article/details/108972

2021-06-29 20:26:46 1151

原创 虚拟机刚装完Deepin20.2.1,应用商店闪退

鼠标在桌面右键点击在终端中打开,在终端中输入以下命令apt search appstoresudo apt reinstall deepin-appstore -y3.现在就可以正常使用应用商店了

2021-06-29 20:04:04 352

转载 vector扩容

扩容原理概述新增元素:Vector通过一个连续的数组存放元素,如果集合已满,在新增数据的时候,就要分配一块更大的内存,将原来的数据复制过来,释放之前的内存,在插入新增的元素;对vector的任何操作,一旦引起空间重新配置,指向原vector的所有迭代器就都失效了 ;初始时刻vector的capacity为0,塞入第一个元素后capacity增加为1;不同的编译器实现的扩容方式不一样,VS2015中以1.5倍扩容,GCC以2倍扩容。代码#include#includeusing namespa

2021-01-06 17:42:16 553

原创 多进程和多线程的使用场景

多进程和多线程的使用场景多进程模型的优势是CPU。多线程模型主要优势为线程间切换代价较小,因此适用于I/O密集型的工作场景,因此I/O密集型的工作场景经常会由于I/O阻塞导致频繁的切换线程。同时,多线程模型也适用于单机多核分布式场景。多进程模型,适用于CPU密集型。同时,多进程模型也适用于多机分布式场景中,易于多机扩展。一. 两者区别进程是分配资源的基本单位;线程是系统调度和分派的基本单位。属于同一进程的线程,堆是共享的,栈是私有的。属于同一进程的所有线程都具有相同的地址空间。多进程的优点:

2020-12-26 13:59:43 6072

原创 进程、线程

进程和线程的基本概念和区别?进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位。线程是进程的一个实体,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发。线程是操作系统可识别的最小执行和调度单位。每个线程都独自占用一个虚拟处理器:独自的寄存器组,指令计数器和处理器状态。每个线程完成不同的任务,但是共享同一地址空间(也就是同样的动态内存,映射文件,目标代码等等),打开的文件队列和其他内核资源。1.一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程依

2020-12-26 13:14:23 470

原创 unique_ptr如何实现独占对象

在C++11中有两个智能指针类型来管理动态对象,share_ptr允许多个指针指向同一个对象,unique_ptr则“独占”所指对象。我们知道指针或引用在离开作用域时是不会进行析构的,但是类在离开作用域时会自动执行析构函数,所以我们可以用一个类来实现指针指针(unique_ptr本质上是一个类,只是可以像一个指针一样使用)。因此我们可以通过析构函数调用delete去释放资源。那么如何实现“独占”呢?我们可以在类中把拷贝构造函数和拷贝赋值声明为private,这样就不可以对指针指向进行拷贝了,也就不能产.

2020-12-07 20:29:27 1256

原创 派生类继承基类的构造函数析构函数调用顺序问题

1、析构函数是否定义为虚函数的区别(1)析构函数定义为虚函数时:基类指针可以指向派生类的对象(多态性),如果删除该指针delete []p;就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。(2)析构函数不定义为虚函数时:编译器实施静态绑定,在删除基类指针时,只会调用基类的析构函数而不调用派生类析构函数,这样就会造成派生类对象析构不完全。2、派生类指针操作派生类对象,基类析构函数不是虚函数class CBase {public: C

2020-12-06 22:48:44 1016

原创 结构体内存对齐

1.对齐​ 第一个成员在结构体偏移量为0的地址处​ 其他成员要对齐到 某个数字的整数倍 这个数字 VS下是 min(8,该成员大小)​ 如果嵌套结构体,对齐数 = 编译器默认的一个对齐数与该嵌套结构体成员大小中的较小值,即min(8,嵌套结构体大小)2.补齐​ 结构体总大小是最大对齐数的整数倍。每个成员都由自己的对齐数,如果有结构体,把它当成一个成员。​ 切记,不是最大成员大小的整数倍!!!3.为什么存在内存对齐呢?平台原因(移植原因):不是所有的硬件平台都能访问任意

2020-12-06 22:40:49 167

原创 sizeof和strlen

区别1、sizeof是C/C++中的一个运算符,其作用是返回一个对象或者类型在内存中所占用的字节数。注意:sizeof后面如果是类型则必须加括号,如 sizeof(char);而如果是变量名则可以不加括号,如 sizeof a; 但是建议使用时 均加上括号。sizeof不能返回动态地被分配的数组的大小,很关键的一点!!!2、strlen是C语言中的库函数,所在头文件为#include <string.h> 其函数原型为 unsigned int strlen(char *s); 其中s

2020-12-06 22:39:26 94

原创 C++中数据存储位置

C++中数据存储位置:1.栈区:栈通常用于存储占用空间小,生命周期短的数据,如局部变量和参数变量等,需要时程序员直接声明变量使用,不需要时变量自动清除的存储区2.堆区(动态申请内存):通过由new和malloc分配,由delete和free手动释放,或者最后程序结束时由OS释放(不负责的行为)。堆内存(动态内存)的生存期人为决定,使用灵活,缺点是分配/释放不当容易造成内存泄漏,频繁分配/释放会...

2019-09-09 23:50:05 1904

空空如也

空空如也

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

TA关注的人

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