- 博客(16)
- 收藏
- 关注
原创 QT实现可拉伸和可移动无边框的Widget
使用FramelessWindowHint设置之后Widget不能移动和拉伸,需要自己实现setWindowFlags(Qt::FramelessWindowHint);.h文件#pragma once#include <QWidget>#include <QMouseEvent>class FramelessWidget: public QWidget{ Q_OBJECTpublic: FramelessWidget(QWidget* Parent = Q_
2021-12-07 14:52:35
1180
原创 VS2019环境配置lib和dll
配置lib路径使用宏增加项目可移植性$(SolutionDir)//$(SolutionDir)代表当前项目的.sln文件所在路径//假如整个项目在C:/Project/下//那么$(SolutionDir)=C:/Project/在当前位置加入使用的lib或者在c++文件中显式调用#pragma comment(lib,"xxx.lib")...
2021-11-30 11:15:34
1499
原创 VS2019使用QT,环境配置和开发相关问题
QT下载安装msvc2017 x86或者64VS2019内设置【扩展-QT VS Tools-Options】解决打开UI时使用Qt Designer闪退的问题,设置为true
2021-07-07 19:47:15
317
原创 VS2019使用Google的TCMalloc
下载gperftools/gperftools打开.sln编译生成文件获取libtcmalloc_minimal.lib和libtcmalloc_minimal.dll填写.lib文件路径t填写PATH=[.dll文件路径]填写libtcmalloc_minimal.lib和__tcmalloc测试代码#include <Windows.h> #include <iostream>#include <chrono>#define COUNT
2021-07-01 19:53:23
643
原创 C++ UDP兼容IPv4与IPv6
IPv4和IPv6两套不同的API,应该默认使用IPv4,可选择IPv6为IPv4和IPv6绑定不同的socket,利用epoll和iocp的多路复用同时监听linux下 AF_INET6默认同时使用IPv4,表示为::ffff:x.x.x.x,https://tools.ietf.org/html/rfc3493#page-225.3 IPV6_V6ONLY option for AF_INET6 SocketsThis socket option restricts AF_INET6 sock
2021-05-02 22:01:04
891
原创 Adapters适配器模式(C++)
Adapters适配器将一个类的接口转换成客户希望的另外一个接口,Adapter模式使原本由于接口不兼容而不能一同工作的那些类可以一起工作符合设计原则:组合对象、客户面向接口而不是实现当现有的系统需要使用另一个类Adaptee的功能,而那个类的接口又不符合现有的系统,就要使用适配器适配器负责把类Adaptee的接口转换成客户类需要的格式,以完成客户的工作实现一个适配器的工作量取决于目标...
2020-03-26 22:19:48
306
原创 SingleTon单实例模式(C++)
SingleTon单实例模式要点:1.只能有一个实例2.这个实例能够方便地被所有客户访问解决方法:1.public的成员函数,创建get()并供客户获取该单实例2.private的构造函数3.private的静态成员变量4.该类自己负责“第一次使用时”实例化对象5.其他对象只能通过get()获取该单例class SingleTon{private: SingleTon(...
2020-03-26 22:18:49
209
原创 云存档俄罗斯方块客户端/服务器(C++)
https://github.com/umichan0621/TetrisWithCloudSavedata
2020-03-23 21:58:11
396
原创 Observer观察者模式(C++)
Subject+Observers=Observer Pattern观察者模式定义:对象之间的一对多依赖关系,当一个对象改变状态时,所有依赖于它的对象都会自动获得通知观察者模式应用:主题对象只与观察者基类有耦合客户配置观察者的数量与类型Observers首先要知道Subject,然后把自己注册到Subject中Subject保存所有注册过的Observer,当状态发生变化时,广播给所...
2020-03-18 17:29:22
228
原创 面向对象设计原则和设计模式
GRASP原则Creator创建者Information Expert信息专家Low Coupling低耦合Controller控制器High Cohesion高内聚Polymorphism多态Indirection间接Pure Fabrication纯虚构Protected Variations隔离变化Creator谁来创建另一个类的示例?对于类A和类B,满足下列条件1...
2020-03-17 18:19:02
422
1
原创 VS C++ Linux服务器开发常用
远程Linux服务器头文件编译时无法找到MySQL头文件#include <mysql/mysql.h>在Linux控制台输入mysql_config找到libs对应行项目右键属性-链接器-命令行-其它选项处输入在Linux服务器上编译时,加上-L/usr/lib64/mysql -lmysqlclientGCC/G++默认的-std(即C++语言标准)不是C++...
2020-02-29 20:05:10
269
原创 C++Scoket
客户端#include <WinSock2.h>#include <Ws2tcpip.h>#pragma comment(lib, "ws2_32.lib")using namespace std;//端口const char DEFAULT_PORT[] = "5000";const int SEND_BUF_SIZE = 1024;////接送信息最大...
2020-02-08 20:03:00
298
原创 C++实现DES算法(64位二进制位加密)
#pragma once#include<vector>#include<string>#include<math.h>#include <iostream>using namespace std;enum { ENCRYPT = 0, DECRYPT = 1 };vector<bool> des_64bit(vector...
2020-01-09 19:25:15
1566
1
原创 C++希尔密码三阶矩阵秘钥的加密/解密/求模26的逆/求解秘钥
#include "cryptograhy.h"int main(){ cryptography *crypto = new cryptography; //crypto->set_text(0, "BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD");//设定密文 //crypto->decrypt_shift_cipher();/...
2019-12-27 23:05:07
4503
原创 C++ STL API
#include<iostream>#include<string>#include<vector>#include<deque>using namespace std; //**************string**************// //赋值 string s = "电瓶车"; s.assign("大马哈鱼"); /...
2019-11-01 16:27:27
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人