当前位置: 首页 > news >正文

9月6日(∠・ω<)⌒☆

1、手写unique_ptr指针指针

#include <iostream>
#include <stdexcept>template <typename T>
class unique_ptr 
{
public:// 构造函数explicit unique_ptr(T* ptr = nullptr) : m_ptr(ptr) {}// 析构函数~unique_ptr() {delete m_ptr;}// 禁止复制构造函数unique_ptr(const unique_ptr&) = delete;// 禁止复制赋值运算符unique_ptr& operator=(const unique_ptr&) = delete;// 移动构造函数unique_ptr(unique_ptr&& other) noexcept : m_ptr(other.m_ptr) {other.m_ptr = nullptr;}// 移动赋值运算符unique_ptr& operator=(unique_ptr&& other) noexcept {if (this != &other) {delete m_ptr;m_ptr = other.m_ptr;other.m_ptr = nullptr;}return *this;}// 重载*和->运算符T& operator*() const {return *m_ptr;}T* operator->() const {return m_ptr;}// 获取原始指针T* get() const {return m_ptr;}// 释放所有权T* release() {T* temp = m_ptr;m_ptr = nullptr;return temp;}// 重置智能指针void reset(T* ptr = nullptr) {T* old_ptr = m_ptr;m_ptr = ptr;delete old_ptr;}private:T* m_ptr;
};int main() 
{unique_ptr<int> ptr1(new int(10));std::cout << *ptr1 << std::endl;unique_ptr<int> ptr2 = std::move(ptr1);std::cout << *ptr2 << std::endl; // 输出 10std::cout << *ptr1 << std::endl; // 不会输出什么东西return 0;
}

2、手写登录界面

头文件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QPushButton>
#include<QLabel>
#include<QLineEdit>
#include<QDebug>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();public slots:void my_slot();private:Ui::Widget *ui;QLineEdit *usernameEdit;       //账号QLineEdit *passwordEdit;       //密码QPushButton *loginButton;        //自定义登录按钮QPushButton *quitButton;          //自定义退出按钮};
#endif // WIDGET_H

源文件

#include "widget.h"
#include "ui_widget.h"#include<QLineEdit>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QLabel *lab1 = new QLabel("账号:",this);lab1->move(200,200);QLabel *lab2 = new QLabel("密码:",this);lab2->move(lab1->x(),lab1->y()+40);loginButton = new QPushButton("登录",this);loginButton->resize(80,40);loginButton->move(lab1->x()+120,lab1->y()+100);quitButton = new QPushButton("取消",this);quitButton->resize(80,40);quitButton->move(loginButton->x()+100,loginButton->y());usernameEdit = new QLineEdit;usernameEdit->setParent(this);usernameEdit->resize(300,30);usernameEdit->move(lab1->x()+lab1->width()+2,lab1->y()-10);passwordEdit = new QLineEdit("密码",this);passwordEdit->resize(300,30);passwordEdit->move(lab2->x()+lab1->width()+2,lab2->y()-10);passwordEdit->clear();passwordEdit->setPlaceholderText("请输入密码");passwordEdit->setEchoMode(QLineEdit::Password);connect(loginButton, &QPushButton::clicked, this, &Widget::my_slot);}Widget::~Widget()
{delete ui;
}void Widget::my_slot()
{// 获取行编辑器中的内容QString account = usernameEdit->text();QString password = passwordEdit->text();// 判断账号和密码是否正确if (account == "123456" && password == "123456"){// 登录成功qDebug() << "登录成功";this->close();}else{// 登录失败passwordEdit->setPlaceholderText("登录失败,请重新输入");passwordEdit->clear();}
}

相关文章:

9月6日(∠・ω<)⌒☆

1、手写unique_ptr指针指针 #include <iostream> #include <stdexcept>template <typename T> class unique_ptr { public:// 构造函数explicit unique_ptr(T* ptr nullptr) : m_ptr(ptr) {}// 析构函数~unique_ptr() {delete m_ptr;}// 禁止复制构造函数…...

k8s执行crictl images报错

FATA[0000] validate service connection: CRI v1 image API is not implemented for endpoint "unix:///run/containerd/containerd.sock": rpc error: code Unimplemented desc unknown service runtime.v1.ImageService 解决方法&#xff1a; vim /etc/contai…...

基于人工智能的音乐情感分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 音乐情感分类是通过对音乐音频信号进行分析&#xff0c;识别出音乐传递的情感&#xff0c;如“愉快”、“悲伤”、“愤怒”等。该技术…...

MySQL灾难恢复策略:构建稳健的备份与恢复机制

在现代企业环境中&#xff0c;数据的安全性和可靠性至关重要。灾难恢复计划&#xff08;Disaster Recovery Plan, DRP&#xff09;是确保在发生灾难性事件后&#xff0c;能够迅速恢复业务的关键策略。对于依赖MySQL数据库的系统&#xff0c;实现有效的灾难恢复计划尤为重要。本…...

docker安装DVWA(巨简单)

拉取镜像docker pull vulnerables/web-dvwa 启动docker run --rm -it -p 80:80 vulnerables/web-dvwa dvwa:...

使用matplotlab绘制多条形图

##黑马程序学习 这种多个条形图放在一起的图形该怎么画呢&#xff1f; 请看以下代码 #横着的条形图 from matplotlib import pyplot as plt import matplotlib#设置显示中文 和 负号 matplotlib.rcParams[font.sans-serif][SimHei] matplotlib.rcParams[axes.unicode_minus]F…...

五、Selenium操作指南(二)

文章目录 四、获取页面元素属性&#xff08;一&#xff09;get_attribute获取属性&#xff08;二&#xff09;获取文本&#xff08;三&#xff09; 获取其他属性 五、页面交互操作&#xff08;一&#xff09;输入文本 send_keys()&#xff08;二&#xff09;点击 click()&#…...

Peewee+Postgresql+PooledPostgresqlDatabase重连机制

需求&#xff1a; Postgresql数据库服务重启后&#xff0c;需要业务代码正常读写数据库 方案&#xff1a; 通过继承playhouse.shortcuts.ReconnectMixin和playhouse.pool.PooledPostgresqlDatabase来创建一个新的ReconnectPooledPostgresqlDatabase类修改reconnect_errors属性来…...

IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)

需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。 对于需要临时放公网访问的应用&#xff0c;直接运行127.0.0.1的开发环境&#xff0c;然后通过反向代理访问127.0.0.1就可以了&#xff0c;省去麻烦的iis设置。 IIS 实现反向代…...

企业在选择CRM系统时需要注意哪些问题呼叫系统外呼系统部署搭建

在这个信息技术快速发展的时代&#xff0c;许多企业为了对客户进行有效的管理对CRM系统进行了实施。那么&#xff0c;有人会问了&#xff0c;企业在选择CRM系统是需要注意哪些问题呢?我们一起来看看 业务需求匹配&#xff1a;系统功能是否与企业当前及未来的需求相符&#xff…...

数据库水平分表方案

数据库分表有很多策略&#xff0c;如下&#xff1a; 数据库分表是处理大型数据库中数据量过大的一种常见策略&#xff0c;它可以提高查询性能、减少锁竞争、降低维护成本等。以下是一些常见的数据库分表方案&#xff1a; 1. **垂直分表&#xff08;Vertical Partitioning&…...

MySQL表操作及约束

修改表 重命名&#xff1a; mysql> alter table user1 rename to user; 新增一列 mysql> alter table user add image_path varchar(128) comment 路径 after birthday; mysql> alter table user add image_path varchar(128) comment 路径 after birthday; Query…...

Redis 键值对操作全攻略

文章目录 一 . get 和 set二 . keys *三 . exists四 . del五 . expire六 . ttl七 . Redis 的 key 的过期策略八 . 定时器的实现8.1 基于优先级队列8.2 基于时间轮实现的定时器 九 . type十 . 数据库管理相关命令 Hello , 大家好 , 这个专栏给大家带来的是 Redis 系列 ! 本篇文章…...

【C语言】---- return的作用

return 是C语言中的一个关键字&#xff0c;用于从函数中返回值。它有以下几个作用&#xff1a; 1 返回值 return 用于将函数的结果返回给调用者。在函数执行过程中&#xff0c;当遇到 return 语句时&#xff0c;函数将立即停止执行&#xff0c;并将其后的表达式的值作为函数的…...

如何制作新生资料收集系统?

新学年伊始&#xff0c;学校需要高效收集学生信息和证件照。易查分提供了一个便捷的解决方案&#xff0c;通过创建一个集成信息和图片的收集系统&#xff0c;可以快速完成这项工作&#xff0c;并将信息导出为PDF&#xff0c;方便打印和存档。 制作步骤如下&#xff1a; 1. 准备…...

pyecharts可视化数据大屏

1. 简介 1.1. 概述 PyECharts 是一个用于生成 ECharts 图表的 Python 库。ECharts 是一款由阿里巴巴开发的开源 JavaScript 图表库,广泛应用于网页端的数据可视化。而 PyECharts 将 ECharts 的功能带到了 Python 环境中,使得 Python 开发者可以方便地在数据分析、机器学习等…...

uniapp - H5 在 UC 浏览器中返回上一页失效的解决方案

1. 前言 最近使用 uniapp 开发的 H5 在测试中遇到的问题:有A、B两个页面,反复从A页面进入B页面后,在B页面会存在返回函数失效问题。经过测试发现,如果反复进入B页面的参数相同,在第三次进入后,返回就会失效,不管是 uniapp 自带的头部导航,还是 uni.navigateBack API 都…...

利用KMeans重新计算自己数据集的anchor

在YOLOv5或YOLOv7中&#xff0c;anchors&#xff08;锚框&#xff09;是预设的一组不同大小、不同长宽比的边界框&#xff0c;它们用于在图像中的每个网格单元上进行偏移和缩放&#xff0c;以生成目标的候选框。这些anchors的设定对于提高目标检测的效率和准确性至关重要。 并…...

分类任务实现模型集成代码模版

分类任务实现模型&#xff08;投票式&#xff09;集成代码模版 简介 本实验使用上一博客的深度学习分类模型训练代码模板-CSDN博客&#xff0c;自定义投票式集成&#xff0c;手动实现模型集成&#xff08;投票法&#xff09;的代码。最后通过tensorboard进行可视化&#xff0…...

从Milvus迁移DashVector

本文档演示如何从Milvus将Collection数据全量导出&#xff0c;并适配迁移至DashVector。方案的主要流程包括&#xff1a; 首先&#xff0c;升级Milvus版本&#xff0c;目前Milvus只有在最新版本(v.2.3.x)中支持全量导出其次&#xff0c;将Milvus Collection的Schema信息和数据…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...