自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 同步&异步日志系统

假设现在有A、B 两种产品,则开两个⼯⼚,⼯⼚ A 负责⽣产产品 A,⼯⼚ B 负责⽣产产品 B,⽤⼾只知道产品的⼯⼚名,⽽不知道具体的产品信息,⼯⼚不需要再接收客⼾的产品类别,⽽只负责⽣产产品。⼯⼚⽅法模式每次增加⼀个产品时,都需要增加⼀个具体产品类和⼯⼚类,这会使得系统中类的个数成倍增加,在⼀定程度上增加了系统的耦合度。⼯⼚⽅法模式通过引⼊⼯⼚等级结构,解决了简单⼯⼚模式中⼯⼚类职责太重的问题,但由于⼯⼚⽅法模式中的每个⼯⼚只⽣产⼀类产品,可能会导致系统中存在⼤量的⼯⼚类,势必会增加系统的开销。

2023-09-18 09:52:37 162 1

原创 C++实现云备份项目

通过不断遍历备份文件夹中的文件, 判断其是否需要上传, 判断条件: 1. 该文件没有存储文件信息, 则说明该文件是刚放入备份文件夹的, 还没有备份上传, 需要备份. 2. 若存在备份文件信息, 则比较当前的etag与之前保存的etag比较, 若不相同则需要上传( 若最后一次访问时间与当前时间比较, 大于指定时间则认为用户已对文件修改完成, 可以上传, 否则认为用户还在修改, 先不上传, 等下次循环再判断时间是否大于, 大于则认为修改完成, 可以上传.)并且能够随时通过浏览器。

2023-09-17 21:14:26 278 1

原创 拷贝构造函数

4. 编译器生成的默认拷贝构造函数已经可以完成字节序的值拷贝了,还需要自己显式实现吗?当然像日期类这样的类是没必要的。默认的拷贝构造函数对象按内存存储按字节序完成拷贝,这种拷贝叫做浅拷贝,或者值拷贝。一旦涉及到资源申请 时,则拷贝构造函数是一定要写的,否则就是浅拷贝。2. 拷贝构造函数的参数只有一个且必须是类类型对象的引用,使用传值方式编译器直接报错, 因为会引发无穷递归调用。在编译器生成的默认拷贝构造函数中,内置类型是按照字节方式直接拷贝的,而自定义类型是调用其拷贝构造函数完成拷贝的。

2023-08-19 16:32:17 181

原创 构造函数和析构函数

内置类型就是语言提供的数据类型,如:int/char...,自定义类型就是我们使用class/struct/union等自己定义的类型,看看下面的程序,就会发现编译器生成默认的构造函数会对自定类型成员_t调用的它的默认成员函数。

2023-08-19 15:08:48 148

原创 类的访问限定符,实例化,对象存储方式,this指针

/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分 号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者 成员函数。1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内 联函数处理。2. 类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加。

2023-08-19 09:02:54 166

原创 内联函数详细讲解

因为在编译的时候inline函数需要被展开,但是内联函数此时只能找到声明,在链接的时候才能找到内联函数的定义,此时编译器就会报错。,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率。,缺陷:可能会使目标文件变大,优势:少了调用开销,提高程序运。(即函数不是很长,具体没有准确的说法,取决于编译器内部实现)、以inline修饰的函数叫做内联函数,编译时C++编译器会在。所以C++有了内联函数,有宏的函数,没有宏的缺点。的做法,如果编译器将函数当成内联函数处理,在。,否则编译器会忽略inline特性。

2023-08-16 11:36:18 64

原创 引用的详细讲解

引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空 间,它和它引用的变量共用同一块内存空间。1. 引用在定义时必须初始化2. 一个变量可以有多个引用3. 引用一旦引用一个实体,再不能引用其他实体4.引用类型必须和引用实体是同种类型的1. 做参数2. 做返回值但是下面代码会出现错误,为什么呢?我们先来看一下函数采用传值返回的过程当n在静态区时,采用传值返回 当n采用传引用返回 我们再回到最上面的问题,为什么c传引用返回会出错呢?通过上面三个例子的演示,我们知道,c是在Add

2023-08-16 09:35:07 56

原创 函数重载的简单讲解

这些同名函数的形参列表(

2023-08-15 10:01:16 36

原创 缺省参数的简答讲解

c++缺省参数讲解

2023-08-12 21:35:45 46

原创 命名空间的简单讲解

简单讲解命名空间使用

2023-08-11 17:45:37 38

原创 C/C++程序的内存开辟

简要了解数据在内存中如何存放

2023-08-07 21:16:03 45

原创 动态内存开辟

有时会我们发现过去申请的空间太小了,有时候我们又会觉得申请的空间过大了,那为了合理的时 候内存,我们一定会对内存的大小做灵活的调整。返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己 来决定。函数的功能是为 num 个大小为 size 的元素开辟一块空间,并且把空间的每个字节初始化为0。如果参数 ptr 指向的空间不是动态开辟的,那free函数的行为是未定义的。这个函数调整原内存空间大小的基础上,还会将原来内存中的数据移动到新的空间。

2023-08-07 10:22:16 42

原创 指针的详细讲解

详细讲解指针数组,函数指针,函数指针数组

2023-07-24 21:52:45 70

原创 浮点数在内存中的存储

详细讲解浮点数在内存中存储规则

2023-07-18 14:43:05 75

原创 结构体简单讲解

简单讲解结构体需要注意的细节

2023-07-15 20:54:37 53

原创 一级指针,野指针,二级指针,指针数组简单讲解

简单了解指针细节

2023-07-15 16:33:39 67

原创 操作符详解

c语言基础的操作符讲解

2023-07-13 19:55:25 100

原创 联合体详细讲解

简单讲解联合体,读完就可明白联合体是是什么

2022-10-26 21:20:45 185 1

原创 枚举详细讲解

简单讲解枚举,使你快读理解枚举是什么,怎么使用

2022-10-26 20:38:59 754

原创 位段详细讲解

简单讲解教你学会什么是位段

2022-10-26 15:22:20 150

原创 时间复杂度,空间复杂度,大O渐进表示法

几个例子简单教会你如何计算时间复杂度和空间复杂度

2022-10-23 22:55:55 498 1

原创 结构体内存对齐,默认对齐数,结构体传参

我们先来计算一下结构体内存的大小现在我们计算一下stu1和stu2每个成员内存偏移是多少。在介绍偏移量之前,我们先简单介绍一下offsetof(是一个宏),它是用来计算结构体成员相较于起始位置的偏移量。现在我们来详细介绍一下内存偏移是怎么回事。

2022-10-13 18:26:06 471

原创 结构体类型的声明和自引用,结构体变量的初始化

结构体类型的声明和自引用,结构体变量的初始化

2022-10-12 22:24:29 105

原创 简单讲解qsort函数和实现qsort函数

qsort函数可以实现任意类型的数组排序

2022-10-11 08:46:52 157

原创 简单讲解memcpy函数并且实现memcpy函数

memcpy函数实现

2022-10-03 21:23:30 1506

原创 简单讲解memmove函数

memmove函数

2022-10-03 20:50:36 307

原创 将一句话的单词进行倒置,标点不倒置,比如i like beijing.经过函数后变为beijing. like i

还可以先逆序单词,再逆序字符串

2022-08-09 23:29:22 872 1

原创 如何打印杨辉三角

杨辉三角简单打印

2022-08-09 22:34:45 104

原创 什么是大端存储和小端存储

详细了解大端和小端的存储

2022-08-09 22:25:31 4916 1

原创 三种方法求最小公倍数(试除法,辗转相除法,最简便的方法)

三种方法

2022-08-08 23:17:03 630

原创 正式开始学习的一天

加油

2022-07-15 15:21:17 108

原创 冒泡排序。

#include<stdio.h>void bubble_sort(int arr[],int sz){ //先确定趟数 int i = 0; for (i = 0; i < sz - 1; i++) { int flog = 0;//假设没有进行交换 //确定兑换对数 int j = 0; for (j = 0; j < sz-1 - i; j++) { if (arr[j]>arr[j+1]) { int tmp =ar.

2022-05-25 19:06:12 55

原创 冒泡排序.

#include<stdio.h>void bubble_sort(int arr[],int sz){ //先确定趟数 int i = 0; for (i = 0; i < sz - 1; i++) { int flog = 0;//假设没有进行交换 //确定兑换对数 int j = 0; for (j = 0; j < sz-1 - i; j++) { if (arr[j]>arr[j+1]) { int tmp =ar.

2022-05-25 19:05:14 43

原创 计算第n个斐波那契数

int Flb(int n){ int a=1; int b=1; int c=1; while(n>2) { c=a+b; a=b; b=c; n--; } return c;}int main(){ int n=0; scanf("%d",&n); int ret=0; ret=Flb(n); printf("%d\n",ret); return...

2022-05-03 17:34:58 121

原创 实现一个整形有序数组的二分查找

int binary_search(int arr[],int k,int sz) { int left=0; // int sz=sizeof(arr)/sizeof(arr[0]);传参数是首元素地址,四个字节,arr[0]是首元素所以sz=1 int right=sz-1; while(left<=right) { int mid=(left+right)/2; if(arr[mid]<k) { left=mid+1; }.

2022-04-22 16:46:36 187

原创 输出1-100含有9的数

int main(){ int i=0; int count=0; for(i=1;i<=100;i++) { if(i%10==9||i/10==9) { printf("%d\n",i); count++; } } printf("含有9的个数:%d\n",count); return 0;}int main(){...

2022-04-21 22:43:02 932

原创 输出1/1-1/2+1/3-1/4+1/5-......+1/99-1/100的和

int main(){ double a=1; double b=0; double sum=0; int flagt=1; for(b=1;b<=100;b++) { sum=sum +flagt*a/b;//如果都是int型,1/2=0 flagt=-flagt; } printf("%lf\n",sum); return 0;...

2022-04-21 22:42:17 84

原创 输出乘法表

int main(){ int i=0; //确定行数 for(i=1;i<=9;i++) { int j=1; //打印列数 for(j=1;j<=i;j++) { printf("%d*%d=%-2d ",i,j,i*j); } printf("\n"); } return 0;}...

2022-04-21 22:41:03 96

原创 求100到200之间的素数

#include<stdio.h>int main()//试除法{ int count=0; int i=0; for(i=100;i<=200;i++) { int j=0; for(j=2;j<i;j++) { if(i%j==0) { break; } } ...

2022-04-05 22:35:52 70

原创 求最小公约数

#include<stdio.h>int main(){ int a=0; int b=0; int r=0; scanf("%d%d",&a,&b); while(a%b)//a%b==0的时候,为假,跳出循环 { r=a%b; a=b; b=r; } printf("%d\n",b); return 0;}...

2022-04-03 22:38:00 57

空空如也

空空如也

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

TA关注的人

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