- 博客(59)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 nginx配置文件nginx.conf之server及server_name的意义详解
本人在学习nginx的时候被server_name的意义困扰了很久。又是查资料,又是请教人。最后还是自己测试出来的。你搜到这篇文章说明你已经经过了基本的配置,但是还不懂其中的含义。先上一段配置server { listen ip:端口; # 当listen出现了ip时,server_name就失去了意义。所以不配置也罢了。 ...
2018-12-17 18:37:18
79116
37
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 tomcat日志控制的logging.properties文件配置
有什么疑问,不同的理解都可以在评论区提出来共同探讨。每周我基本都会上两三次博客。 #配置tomcat的日志输出方式handlers = catalina.org.apache.juli.FileHandler, localhost.org.apache.juli.FileHandler, manager.org.apache.juli.FileHandler, host-manager.o...
2018-12-07 12:04:12
4558
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 微信打开网页,网页获取用户信息的注意事项
解决的问题:网页回调域名, redirect_uri的写法。适用人群:和我一样的初级开发,粗略的阅读过开发手册。 先说说写这篇博客时本人的境遇吧。本人已经从事java开发一年多了,这次接到一个项目是秒杀商城的,但是客户又要网页版的,只是在微信端可以打开,可以用微信登陆而已。团队总共四个人,一个专门做Java后端,一个做微信端的前端,一个实施。项目时间比较赶所以也参与了上述的所有工作。...
2018-09-09 01:35:46
5712
原创 C++反射的实现
#ifndef CLASSFACTORY_H#define CLASSFACTORY_H#define REFISTERFUNPTRBV(className) typedef bool (className::*PTRFunctionB)(void)#define REFISTERFUNPTRBP(className,parameterType) typedef bool (className::*PTRFunctionBP)(parameterType*)//Register.h//.
2021-07-31 16:24:54
299
原创 C++中继承与多态使用时的一些小细节总结
1、多态方法调用规则 虚函数,重写 1、、多态时不能调用子类特有的方法。可强转调用,是因为使用时是函数指针找到函数入口去执行的。父类没有这指针; 2、多态调用的方法基本都是子类的,如果子类没有重写则是调用父类的,这个于虚函数列表有关。 3、想调用父类父类方法则需要使用命名空间 非虚函数,重写 父类成员 测试案例//略2、父强转为子 编译时 使用时 父类指针引用指向子类对象(多态) 不报错 ...
2021-04-22 13:05:38
267
原创 Qt 信号槽connect的第五个参数
https://blog.csdn.net/qq_41469587/article/details/108919503 槽函数所在线程 Qt::AutoConnection(自动方式) Qt的默认连接方式,如果信号的发出和接收这个信号的对象同属一个线程,那个工作方式与直连方式相同;否则工作方式与排队方式相同。 Qt::DirectConnection(直接连接) 当信号发送后,相应的槽函数将立即被调用。emit语句后的代码将在所有槽函数执行完毕后被执...
2021-04-21 18:37:05
377
原创 C++构造函数体内初始化与列表初始化的区别
总结:1、列表初始化在构造函数之前 2、没有写初始化列表,则是调用成员的默认无参构造函数; 3、写了初始化列表,则是调用初始列表中显示的成员构造方法。注意事项: 1、如果成员中有的类型没有无参构造函数则必须使用列表初始化;因为不写列表的话会调用默认的无参构造函数; 2、初始化列表的初始化顺序与列表顺序无关,只与声明的顺序有关;参考链接https://blog.csdn.net/weixin...
2021-04-13 16:49:25
837
原创 写Qt时将**ui文件放在Resources中有什么好处?
一、目的1、提高复用性,如果一个界面要进行较大的变换,则整个UI会非常的庞大,如果换成多个ui,每次通过load方法加载,则可以分成多个小ui,而这些小的ui又可以被其他的CPP使用。2、一定程度上替代自己封装组件。3、可以提高编译速度。二、使用方法 1、将ui文件作为资源文件引入,略。 2、创建同名C++类,包括CPP和H 3、在CPP的构造函数中使用loader.load方法加载这个UI。 QUiLoader loader...
2020-09-17 11:28:10
358
转载 Qt基础笔记(一)QDir类及其用法总结
简介QDir类提供了访问系统目录结构及其内容的与平台无关的方式。头文件:#include <Qdir>QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也可以用来获取Qt资源系统的文件信息。QDir类使用相对或绝对文件路径来指向一个文件/目录。绝对路径是从目录分隔符“/”或者带有一个驱动器标识(除了在Unix下)。如果总是使用“/”作为目录分隔符,Qt将会把你的路径转化为符合底层的操作系统的。相对文件名是由一个目录名称或者文件名开始并且指定一个...
2020-09-03 11:36:54
1399
转载 #include和直接写class加类名的区别
看公司代码时发现有一个.h文件中写可好多class xxxa;class xxxb;class xxxc;假设B的定义是在B.h中,而存在下面这个文件://A.h--------------------------------------------classA{private: B*impl_;};--------------------------------------------//A.cpp------------------------...
2020-08-27 16:24:44
340
原创 2020-08-20C++面试
1、现在有一种三叉树,使用string格式书写成a(b(e,f,g,)),c,d(h,i,j));1.1、请写出合适的结构体保存它。1.2、请写一段代码,当用户使用以上格式输入时,将其存储为结构体变量。1.3、请写一段代码,将以上结构体变量按照题干中的方法打印出来。2、怎么用最快的速度如何判断链表是否有环? 在考官的提示下使用两个指针; 两个指针都是从头指针开始,速度不一样,如果有环,两个指针肯定会相遇。2.2 怎么计算环的长度。 3...
2020-08-20 20:24:27
99
原创 2020-08-17Qt面试
以下都是按照回忆想起来的,不分先后。1、hr:你是来面什么的? 我是来面Qt的。2、hr:哦,Java啊,进去坐坐吧。 我是来面C++的。3、技术面:介绍下自己。 巴拉巴拉。 //4、面向对象的特征。 继承、封装、多态5、多态是什么? 父类引用或指针指向子类对象。6、多态是依靠什么实现的? 继承和虚函数。7、虚函数有哪些?在内存中怎么实现的? 纯虚函数,虚函数。内存中使用虚函数列表,对...
2020-08-17 17:53:47
442
原创 Qt设计界面画出的界面已经很大了,但是运行出来的界面还是很小
设计界面的时候,不能1:1的展示解决办法工具->选项->环境去掉High DPI scaling的选中。Apply,重启Qt即可。最后会感觉整体都变小了,但是设计界面用起来就很爽了。
2020-08-04 14:18:38
8589
6
原创 QT设置窗口在最右上角
依据以下方法可以任意的坐标为参考放置窗口1、获取桌面的大小 QScreen *screen = QGuiApplication::primaryScreen (); QRect screenRect = screen->availableVirtualGeometry(); int dWidth = screenRect.width(); int dHeight = screenRect.height();//桌面大小..
2020-07-25 22:10:37
1986
原创 C++20CHM地址
不想上传成资源,大家还要花积分什么的。 每周一更。baidu云 请求头自己加上中间有中文就自己去掉,防止屏蔽基于C++2020标准编写,对于新增的功能标注了什么版本新增的特性;也可以针对某一版本进行单独的查看。同时还支持C语言的库函数查看。可以作为一个入门资料,也可以作为一个查询的手册。pan.baidu.com/s/1MJqWfpnQ-SmzdYid2ubftw提取码:892e...
2020-07-14 10:12:31
163
原创 Easy_CHM生成CHM时出现的目录和索引中文乱码脚本错误
出现原因是以下三个因素导致的1、Easy_CHM等软件都很老了,那时候根本很多默认就是GBK2、和Easy_CHM同时代的中国人写的HTML大多数用的是GBK编码文件;现在的HTML文件都是国际接轨,使用的文件格式大多是UTF-8;3、<meta charset="***" />标签是用来控制页面内容的;现在的html大多数都是utf-8编码文件,以及utf-8控制页面内容;当<meta charset="***" />的格式与文件编码个是一致的时候右边的内容就不会乱
2020-07-04 00:29:46
3406
2
原创 C++虚函数列表布局方式计算技巧
参考:陈皓大佬的C++ 对象的内存布局(上) 陈皓大佬的C++ 对象的内存布局(下)学习多态时产生了如下几个问题,都在陈皓大佬的文章里找到了答案1、父类中不是虚函数,子类中是虚函数;多态调用时为什么不能调用子类的函数?2、多层继承的内存布局是怎么样的?注:以下模型图中所有函数都是虚函数一、单一的一般继承计算方法:1、先Child继承Parent:将子类(Child)重写的方法覆盖父类(Parent),剩下的接到虚函数列表的最后面2、...
2020-07-02 21:16:23
171
原创 C++中对象实例四种方法及其区别
MyArry(10).getLen();//在栈区定义使用有参定义一个对象,并调用getLen方法,执行完立刻析构; cout << "在栈区定义使用有参定义一个对象,并调用getLen方法" << endl; MyArry* arry0 = new MyArry(10);//new出来的空间只有使用delete时才会调用析构函数; MyArry arry1(10);//在栈区使用有参构造定义一个对象; MyArry arry2();//这是声明了一个新的函数 arry2.
2020-07-01 18:49:44
275
原创 C++与Java访问权限对比
C++中的访问权限 private protected public 类的函数和友元函数 √ √ √ 子类的函数 × √ √ 类的对象 × × √ 继承后的可访问性private继承后,父类中的所有方法在子类中变成private。protected继承后,父类>=protected的所有方法(protected,public)在子类中变成protected。public继承后,父类方法的属性不变.
2020-06-30 22:28:28
250
原创 C++重载new与delete
总结: //重载的new操作符 依然会触发对象的构造函数 void * operator new(size_t size) { cout << "重载了new操作符" << endl; return malloc(size); } void *operator new[](size_t size) { cout << "重载了new[]操作符" << endl; return malloc(size); } //重载的
2020-06-30 17:12:57
213
原创 C++重载“=”操作符引起的思考
参考https://bbs.csdn.net/topics/396949997有一个类class MyArry在类的内部重载MyArry& MyArry::operator=(const MyArry& arry);但是1 MyArry arry1(10);//调用构造方法实例化对象2 MyArry arry2;//声明一个变量3 arry2 = arry1;//调用了重载的“=”4 MyArry arry3 = arry2;//调用了拷贝构造方法在第
2020-06-29 11:17:51
132
原创 C++析构函数调用时机
总结1、在匿名对象使用完后立刻调用析构函数2、在栈区的对象,空间被释放后立刻调用析构函数;3、在堆区的对象,空间被delete后调用析构函数;free不能调用;代码验证:1void test() {MyArry(10).getLen();//在栈区定义使用有参定义一个对象,并调用getLen方法,执行完立刻析构; cout << "在栈区定义使用有参定义一个对象,并调用getLen方法" << endl;}执行结果代码验证:2vo.
2020-06-28 18:03:40
2546
原创 VS中strcpy之类的string.h的函数找不到标识符
出现这个问题我们一步一步来做;总归有一步能解决这个问题的;strcpy之类的string.h的函数找不到标识符1、预处理定义中没有加入了_CRT_SECURE_NO_WARNINGS,2、头文件中没有加入#include<string>#include<stdio.h>以上都处理了话没有办法解决那么问题就是出现在了头文件中。那么参考我的另外一篇文章https://blog.csdn.net/qq_40737025/article/details/10698..
2020-06-27 17:24:15
3741
原创 VS2017出现无法使用stdlib.h,string.h等SDK中的头文件
电脑上前前后后安装了三个版本的vs。于是出现了各种问题 E1696 无法打开 源 文件 "某某某.h" E0282 全局范围没有 "某某某" 【Windows SDK】找不到 Windows SDK 版本10.0.*****.0 或者是stdlib.h,string.h等头文件中有报错 这些SDK中的函数头文件出问题那么就是SDK有问题。一、修改windows SDK版本1.查看本机windows SDK版本打开vs installer...
2020-06-27 17:23:38
14843
4
原创 C++函数中返回引用和对象的区别
本文参考了C++函数的返回值——返回引用类型&非引用类型要搞清楚这个问题我们必须要先搞清楚return的时候发生了什么?我们有一个类如下(不需要仔细看)#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>using namespace std;static int i = 0;class Student{private: int age; string name;
2020-06-24 21:21:05
839
转载 c++ 方法加 const
const string getName() const;前边的const 说明返回的值不能被修改后边的const 说明该方法只能读取类中的变量,而不能修改类中的变量
2020-06-23 21:05:38
160
原创 C++中拷贝构造函数的四种调用方式
代码拿着跑一跑就什么都知道了#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>using namespace std;static int i = 0;class Student{private: int age; string name;public: /* 构造函数 */ Student(int age, string name) { this->age.
2020-06-21 22:31:59
1950
1
原创 Java对象初始化顺序
总结:先初始化父类的静态代码—>初始化子类的静态代码–>初始化父类的非静态代码—>初始化父类构造函数—>初始化子类非静态代码—>初始化子类构造函数规律: 1、静态优先。 2、在1的基础上父类优先。 3、在1、2的基础上构造函数最后。练习及实例写出以下代码的运行结果class A { public A() { System.out.println("clas...
2020-06-21 20:08:54
96
原创 C/C++语言中结构体字节对齐方法详解
1、确定对齐字节数;int n;//#pragma pack(n) 中的nint maxTypeLent;//结构体中最大的数据类型长度;int pp = n<maxTypeLent?n:maxTypeLent;//对齐字节数对齐字节数就是设置的字节数与结构体中最大数据类型长度二者中较小的值;有以下一个结构体;求所占空间; typedef struct Stu { char a[4]; int b; double c; short d;...
2020-06-20 14:38:55
3481
5
原创 C/C++基本数据类型所占内存大小
16位机 32位机 64位机 char 1 1 1 short int 2 2 2 int 2 4 4 unsigned int 2 4 4 float 4 4 4 double 8 8 8 long 4 4 8 long long 8 8 8 unsigned long 4 4 8 指...
2020-06-12 18:58:34
214
原创 图解C/C++中什么情况下方法参数中需要指针,需要几级指针?
结论:当变量需要在被调函数中使用并修改,并且在主调函数中也体现修改时就需要指针;以链表的创建,遍历为例;主调函数如下://主调函数int test() { Stu *head = NULL; SlistCreat(&head);//创建链表 return 0;}遇见这种情况,那么被调函数只能是这样写了,因为要从NULL修改为某个值//创建单链表//做到手动输入id创建链表,当输入-1时取消int SlistCreat(Stu ** headP) { if (h
2020-06-08 13:27:12
684
原创 二级指针的三种内存模型图
1、char * p[] = {"111111111","000000000","bbbbbbbbb","aaaaaaaaa"}; 2、char ** buf = ...........3、char p[][4] = {............}
2020-06-02 20:38:07
222
原创 C语言中二级指针与二维数组的对应关系详解
int a[][4] = {1,2,3,4,5,6,7,8,9,10,11,12}总结先总结一下:对于上面定义的的二维数组,他们与指针有着这样的关系 等价于 解释 a int型二维数组 代表变量a的起始地址 a+i &a[i] 代表第i行起始地址 *(a+i) a[i] 第i行首元素的地址 *(a+i)+j &a[i][j] 第i行第j列元素的地址 *(*(a+i)+j) a[i][j]..
2020-06-02 20:30:26
1010
转载 【转载】C语言含有指针的结构体写入文件中
#include <stdio.h>#include <string.h>#include <stdlib.h> typedef struct Student{ char *name; //名字 int id; int name_len; //名字长度}Stu; void write_file(){ FILE *fp = NULL;...
2020-03-05 15:50:52
973
原创 数组指针,指针数组
int *p[5];//int *p[5]则是一个大小为5且存放整型指针的数组。int (*p)[5];//数组指针的意思即为数组的指针,p先和*结合,说明了p是一个指针变量,//指向一个大小为5的数组。所以,int (*p)[5]即为一个数组指针。...
2020-03-05 15:11:55
80
原创 C语言const修饰指针
const 就近;const int * contper1 = malloc(100);int * const contper2 = malloc(100);第一个可以理解为 * contper1 被const修饰;就是指向的数据不能改;第二个可以理解为, const修饰了 contper2;就是指针不能变;地址不能变;...
2020-03-05 14:56:24
194
原创 (*p)++和*(p++)和*p++的区别
(*p)++和*(p++)和*p++的区别*(p++)究竟是谁++,是p的地址++,还是p所指的东西的地址++前缀递增递减和*优先级相同,从右到左;后缀递增递减比前缀优先级高,从左到右。比如 1 2 intarr[5]={1,3,5,7,9}; int*p=arr; *++p:p先自+,然后*p,最终...
2020-03-05 14:43:40
415
原创 C/C++在函数传参时究竟发生了什么?
无论是值传递,指针传递,引用传递其实都是发生了一次赋值而已;不同的在于传递的数据类型不同而已;首先分析“赋值”也就是 “=”的意义 我们分析下以下代码1 void test(){2 int a;3 int b =10;4 a = b;5 int c = b;6 } 在代码执行到方法内部的时候就为改方法内的所有局部变量分配了空间(Java则是执行到...
2020-03-05 14:13:18
195
C++2020_zhAPI.rar
2020-07-13
Linux C++ 在子线程中执行shell命令,导致主线程卡住了。
2024-02-28
关于#qt#的问题:qml写的界面在Linux下待机唤醒后某些组件就不显示了
2023-12-21
Qt6,C++17 在Linux下要做一个网络管理
2022-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人