当前位置: 首页 > 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信息和数据…...

OpenClaw硬件适配指南:在树莓派运行Qwen3.5-9B-AWQ-4bit轻量版

OpenClaw硬件适配指南&#xff1a;在树莓派运行Qwen3.5-9B-AWQ-4bit轻量版 1. 为什么要在树莓派上跑OpenClaw&#xff1f; 去年夏天&#xff0c;我在调试一个智能家居项目时&#xff0c;发现需要让设备具备实时图像理解能力——比如识别门口是谁、判断宠物是否在抓沙发。当时…...

智能分配,精准溯源:泰合森工业RFID赋能海天注塑中央供料分料站智能化升级

在注塑行业自动化、智能化浪潮下&#xff0c;中央供料系统已成为现代化注塑车间的标配核心装备。其中&#xff0c;分料站作为整个供料系统的 “神经中枢”&#xff0c;承担着将原料粒子通过真空负压管道&#xff0c;从下口吸入、精准分配至各台注塑机的关键任务。传统分料站虽实…...

去中心化 AI Agent Harness Engineering 网络与区块链的结合

去中心化 AI Agent Harness Engineering 网络与区块链的结合 1. 引入与连接:开启智能协作新纪元 1.1 一场即将到来的变革 想象一下,在不远的将来,我们的数字世界不再由少数几家科技巨头主导,而是由无数自主运作的智能体组成的生态系统。这些智能体可以自主决策、协作完成…...

seo外包公司报价高的原因是什么_如何比较不同seo外包公司的报价

SEO外包公司报价高的原因是什么_如何比较不同SEO外包公司的报价 在当今竞争激烈的市场环境中&#xff0c;越来越多的企业选择外包SEO服务来提升他们的在线存在感和业务增长。不同的SEO外包公司报价差异巨大&#xff0c;一些公司的报价显得格外高。SEO外包公司报价高的原因究竟…...

中小卖家最怕买“大而全”,真正需要的是“刚刚好”的自动化方案

很多中小卖家一听到“AI自动化”“全链路智能体”这些词&#xff0c; 心里会先紧张一下。 不是不感兴趣&#xff0c; 而是怕另一个问题&#xff1a; 看起来很强&#xff0c;但太大了&#xff1b; 功能很多&#xff0c;但太重了&#xff1b; 概念很全&#xff0c;但不一定适合自…...

BK1086/88 DSP收音机Arduino库详解

1. 项目概述PU2CLR BK108X 是一款专为 BEKEN BK1086 和 BK1088 高集成度数字信号处理&#xff08;DSP&#xff09;广播接收芯片设计的 Arduino 库。该库并非通用型通信封装&#xff0c;而是面向射频接收系统工程实践的底层控制框架&#xff0c;其核心价值在于将芯片复杂的寄存器…...

seo关键词文章的结构应该怎么安排

SEO关键词文章的结构应该怎么安排 在当前竞争激烈的互联网环境中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为每个网站运营者必须掌握的技能之一。其中&#xff0c;关键词的选择和布局是SEO文章结构的核心部分。SEO关键词文章的结构应该怎么安排呢&#xff1…...

Qt实战:用QCustomPlot打造高性能动态波形图(附GitHub源码)

Qt实战&#xff1a;用QCustomPlot打造高性能动态波形图&#xff08;附GitHub源码&#xff09; 在物联网设备监控、工业自动化测试或生物电信号分析场景中&#xff0c;开发者常面临每秒数千个数据点的实时可视化挑战。传统绘图库在渲染高频动态波形时容易出现卡顿、帧率骤降等问…...

用快马快速构建API限流演示原型,直观理解rate limit exceeded

最近在开发一个需要调用第三方API的项目时&#xff0c;遇到了"rate limit exceeded"的错误提示。为了更直观地理解API限流机制&#xff0c;我决定用InsCode(快马)平台快速搭建一个演示原型。整个过程比想象中简单很多&#xff0c;分享下我的实现思路和经验。 项目构思…...

python docker

# Python与Docker&#xff1a;从代码到容器的旅程 在软件开发的世界里&#xff0c;我们常常会遇到这样的场景&#xff1a;代码在开发者的笔记本电脑上运行得完美无缺&#xff0c;但一旦部署到服务器上&#xff0c;就会出现各种莫名其妙的问题。可能是操作系统版本不同&#xff…...