
C++
daozhi.
当你在打发时间,时间也在打发你.
展开
-
周末学习-String原理以及实现
String原理及实现string类是由模板类basic_string<class _CharT,class _traits,class _alloc>实例化生成的一个类。basic_tring是由_String_base继承而来的。typedef basic_string<char> string#pragma once#include<iostream>class String{private: char* data; //字符串内容 s原创 2021-11-06 16:48:48 · 191 阅读 · 0 评论 -
公共看门狗程序
概述一些重要的程序,必须让它一直跑着;而且还要时时关心它的状态——不能让它出现死锁现象。当然,如果一个主程序会出现死锁,肯定是设计或者编程上的失误。我们首要做的事是,把这个Bug揪出来。但如果时间紧迫,这个Bug又“飘忽不定”,那么,我们还是先写一个软件“看门狗”,暂时应一下急吧。“看门狗”的需求描述:“看门狗”的运行不出现界面窗口,具有一定的隐蔽性;定时判断目标进程是否运行在当前系统中,如果没有则启动目标进程;判断目标进程是否“没有响应”,如果是则终止目标进程;如果目标进程“没有响应”的次数超过一定的原创 2021-10-21 17:00:20 · 1134 阅读 · 0 评论 -
Qt 轮播图实现(全网轮播图最详细注释讲解)
废话不多说,先上效果。然后这个我设置的是每3s他会自动往下一页滑动。最下面有几个另外做的小功能。这样可以使我们的需求写成活的。其实虽然看是个小项目,但要写好的话,代码量和架构也是有一定要求的。qwhadvertisingpage.h#ifndef QWHADVERTISINGPAGE_H#define QWHADVERTISINGPAGE_H#include <QWidget>#include <QPushButton>#include <QPaintEv原创 2021-06-07 16:43:52 · 4042 阅读 · 0 评论 -
C++ 数组的替代品(vector 和 array)
模板类 vector 和 array 是数组的替代品。模板类vector类似于String类,也是一种动态数组。可以在运行阶段设置vector对象的长度,可以在追加数据或者插入数据。它是使用new创建动态数组的替代品。实际上,vector类确实使用new 和 delete来管理内存,但这种工作都是底层自动完成的。模板类array。vector类的功能逼数组强大,但付出的代价是效率稍低。如果您需要的是长度固定的数组。使用数组是更佳的选择,但代价是不那么方便和安全。于是C++11新增了模板类array。它原创 2021-04-17 20:25:17 · 1878 阅读 · 3 评论 -
每日C艹
1、把一个链表中的节点顺序倒排typedef struct linknode{ int data; struct linknode *next;}node;//将一个链表逆置node *reverse(node *head){ node *p, *q, *r; p = head; while(q!=NULL) { r = q->next; q->next = p; p = q; q = r; } head->next = NULL; head原创 2021-03-23 20:56:38 · 153 阅读 · 0 评论 -
Qt 图片加水印项目(类似豆瓣水印+下角单个水印)
下午找了一套加水印的Qt代码,但效果不理想。在群里叶佬的修改下最后成型了。叶佬牛逼~感谢~正文:选择一个文件夹,他就会找出这个文件夹这个目录的所有图片并且进行加上水印操作。对这个文件夹下的这三张图加水印。没加水印和加了水印的。mainwidget.cpp#include "mainwidget.h"#include "ui_mainwidget.h"#include <QFileDialog>#include <QDebug>#include <原创 2020-12-30 18:51:28 · 2680 阅读 · 5 评论 -
Qt 通讯模块(短信、彩信发送)
运用知识点:1、事件循环。2、控件使用。3、qss使用。4、信号槽机制。5、【通信模块(暂无)】。6、自适应布局。1、首先这两个页面切换,用到的控件StackWidget实现两个类切换//短信void Widget::on_Note_3_clicked(){ if(ui->stackedWidget->currentWidget() != widget_1){ ui->stackedWidget->setCurrentWidget(widg原创 2020-12-30 18:06:19 · 1256 阅读 · 0 评论 -
C_顺序表(插入、删除操作)
ListInsert(SqList &L, int i, int e)这个参数传入的依次是已开辟的结构体内存空间,要插入的位置,插入的值。这样我们知道,我们首先要把插入的位置给空出来,所以理所当然的把i本身包括i后面元素的位置给往后挪。这样我们就需要用for循环来判断了。for (int j=L.length; j>=i; j--)//将第i个元素及之后的元素后移。{ L.data[j] = L.data[j-i];}L.data[i-1] = e; //在位置i处放.原创 2020-12-18 09:57:46 · 435 阅读 · 2 评论 -
C _顺义表的实现_动态分配
重点是IncreaseSize(SeqList &L, int len)这个函数。把已有元素的数组赋值给新建的int *p。然后自己再从新开辟15个新的int型空间。这时候L.data是为没有元素的。然后再循环遍历把旧的元素给赋值过来。还剩下给新的元素留下的空间地址。这样就实现了动态分配了。<--------------------------------------------------------------------------------------------------.原创 2020-12-17 20:01:38 · 276 阅读 · 0 评论 -
Qt QQ聊天demo
原创 2020-12-07 18:54:07 · 272 阅读 · 0 评论 -
Qt 多线程的应用 TCP
目的L:实现一个多线程的网络时间服务器,介绍如何综合运用多线程技术编程。每当有客户请求到达是,服务器将启动一个新线程为它返回当前时间,服务完毕后这个线程将自动退出,同时,用户界面会显示当前已接收请求的次数。输入端口号–***点击获取时间,程序会向服务器请求一次。TimeClient#include "timeclient.h"#include <QHBoxLayout>#include <QVBoxLayout>#include <QGridLayout&.原创 2020-12-01 19:47:51 · 1072 阅读 · 0 评论 -
Qt通信之Udp(客户端和服务端)20.11.27
可以看出,在UDP方式下客户端并不与服务器建立连接,它只负责调用发送函数向服务器发送数据报。相同,服务器也不从客户端接收连接,只负责调用接收函数,等待来自某客户端的数据到达。Qt中通过QUdpSocket类实现UDP协议的编程。接下来通过一个实例,介绍如何实现基于UDP协议的广播应用,它由UDP服务器和UDP客户端两部分组成。首先是客户端(Client)这个是接收到服务端返回的消息–渲染。服务端(Server)Edit是我发送给客户端的内容。这个demo的目的–我在服务端输入任意内容,并.原创 2020-11-27 20:30:38 · 3678 阅读 · 0 评论 -
Qt 实现QQ多层列表demo(抽屉效果)
原创 2020-11-26 19:41:38 · 640 阅读 · 0 评论 -
Qt 修改用户资料(1、StackWidget 2、布局管理器的使用)
很适合入门Qt的学习者。主要使用的技术点:1、StackWidget2、布局管理器的使用对代码布局界面是非常实用的一个小demo。希望能帮到大家的学习。这里仅上传main函数的代码。完整代码我已经上传至优快云。#include "content.h"#include <QApplication>#include <QTextCodec>#include <QSplitter>#include <QListWidget>int mai原创 2020-11-26 15:08:20 · 591 阅读 · 0 评论 -
Qt QMap和QHash区别
/*只要站起来的次数比倒下去的次数多,那就是成功。*/#include "widget.h"#include <QApplication>#include <QDebug>int main(int argc, char *argv[]){ QMap<QString, QString> map; map.insert("beijing" , "111"); map.insert("shanghai" , "021"); map.原创 2020-11-23 16:47:12 · 396 阅读 · 0 评论