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

DAY13

面试遇到的新知识点

        char str[10],只有10个字符的空间,但是只能存储9个字符,最后一个字符用来存储终止符'\0'

        strlen只会计算'\n',不会计算'\0'

值传递:

void test2(char * str)
{str = "hello\n";
}int main()
{char * str;test2(str);cout << str;return 0;
}

引用传递

void test3(char ** str)
{*str = "hello\n";
}int main()
{char * str;test3(&str);cout << str;return 0;
}

只有传变量的地址对变量进行解引用才能够修改变量的值。

空类里面有什么?

默认成员函数

1.默认构造

2.拷贝构造

3.赋值运算符

4.移动构造

5.移动赋值

6.析构函数

关于最近的一些面试感受

明显感觉好多岗位都交叉着QT,别人问我QT我都答不上来,只能说一个信号槽和用QT封装了简单的网页。

感觉拿不出手,得好好钻研QT了,至少能吹的出来。

c++的排序算法,快排,堆排,后面还要继续更新一个归并排序,将这三个排序算法掌握基本是够用了;

池性组件,后面还要更新内存池,连接池之类的。

然后把基本的排序和池性组件理清楚,边开始学QT边写算法题。目前来看回溯算法算是入门了,但是动态规划,贪心算法和单调栈还是不清楚,争取把这些搞掉。今天开始学习QT,历时一个礼拜应该能小有成就吧。

QT

QT Creator的界面介绍

项目的结构

简单的QT程序

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent),lab(new QLabel("hello",this)), ui(new Ui::MainWindow)
{ui->setupUi(this);// 设置标签的位置lab->setGeometry(100,100,200,200);// 设置标签的颜色lab->setStyleSheet("QLabel{background-color:green;color:red}");// 设置字体的大小lab->setFont(QFont("楷书",22));
}

信号槽机制

信号(signal)

信号的本质是事件,信号展现方式就是函数。当一个事件发生之后,则发出一个信号(signal)。

槽(slot)

对信号响应的函数

槽与普通函数的区别:

槽函数可以与一个信号关联,当信号被发射的时候,关联的槽函数被自动执行处理

信号与槽关联是使用QObject::connect()函数进行实现

connect

sender:发出信号的对象

signal:sender对象的信号

receiver:信号接收者

method:receiver对象的槽函数,当检测到sender信号,receiver对象调用method方法

信号与槽的连接方式

一个信号可以与另一个信号相连

// 信号一可以触发信号二的发送
connect(object1,SIGNAL(signal1),object2,SIGNAL(signal1));

同一个信号可以和多个槽相连

connect(object1,SIGNAL(signal1),object2,SIGNAL(slot1));
connect(object1,SIGNAL(sIgnal1),object3,SIGNAL(slot2));

同一个槽可以响应多个信号

connect(object1,SIGNAL(signal1),object2,SIGNAL(slot1));
connect(object3,SIGNAL(signal3),object2,SIGNAL(slot1));

常用连接方案

connect(object1,SIGNAL(signal),object2,SLOT(slot));

实战

计算圆球体积

头文件

头文件(dialog.h)
#ifndef DIALOG_H
#define DIALOG_H
​
#include <QDialog>
// 引入标签,命令按钮
#include<qlabel.h>
#include<qpushbutton.h>
#include<qlineedit.h>
​
class Dialog : public QDialog
{Q_OBJECT
​
public:Dialog(QWidget *parent = nullptr);~Dialog();
private:QLabel *lab1, *lab2;QLineEdit *lEdit;QPushButton *pbt;
​
// 设置槽函数
public slots:void CalculateCircleV();
};
#endif // DIALOG_H

main.cpp
#include "dialog.h"
#include <QApplication>
​
int main(int argc, char *argv[])
{QApplication a(argc, argv);Dialog w;// 设置标题w.setWindowTitle("计算圆球体积");w.show();return a.exec();
}

dialog.cpp
#include "dialog.h"
#include<QGridLayout>
const static double PI=3.1415;
​
Dialog::Dialog(QWidget *parent): QDialog(parent)
{// 标签一(提示输入)lab1 = new QLabel(this);lab1->setText("请输入圆球的半径:");// 标签二(显示结果)lab2 = new QLabel(this);
​// 创建一个编辑框空间(专门用于接收用户的输入圆球半径的值)lEdit = new QLineEdit(this);
​// 创建命令按钮pbt = new QPushButton(this);pbt->setText(tr("计算圆球体积"));
​// 表格布局QGridLayout *lay = new QGridLayout(this);// 第一行的第一列lay->addWidget(lab1,0,0);// 第一行的第二列lay->addWidget(lEdit,0,1);lay->addWidget(lab2,1,0);lay->addWidget(pbt,1,1);
​// 将编辑框信号与槽函数关联,只要文本发生改变就会调用槽函数// connect(lEdit, SIGNAL(textChanged(QString)),this,SLOT(CalculateCircleV()));// 将按钮信号与槽函数关联,只有点击按钮,才会调用槽函数connect(pbt, SIGNAL(clicked()),this,SLOT(CalculateCircleV()));
​
}
​
Dialog::~Dialog()
{
}
void Dialog::CalculateCircleV()
{bool isLoop;QString str;QString val = lEdit->text();int num = val.toInt(&isLoop);double result = 4.0/3.0*PI*num*num;lab2->setText(str.setNum(result));
}

相关文章:

DAY13

面试遇到的新知识点 char str[10],只有10个字符的空间&#xff0c;但是只能存储9个字符&#xff0c;最后一个字符用来存储终止符\0 strlen只会计算\n,不会计算\0 值传递&#xff1a; void test2(char * str) {str "hello\n"; }int main() {char * str;test2(str);…...

WPF 自定义用户控件(Content根据加减按钮改变值)

前端代码&#xff1a; <UserControl.Resources><Style x:Key"Num_Button_Style" TargetType"Button"><Setter Property"MinWidth" Value"30" /><Setter Property"Height" Value"35" />&l…...

CPU、GPU、显卡

CPU VS GPUCPU&#xff08;Central Processing Unit&#xff09;&#xff0c;中央处理器GPU&#xff08;Graphics Processing Unit&#xff09;&#xff0c;图形处理单元GPU 的技术演变CUDA&#xff08;Compute Unified Device Architecture&#xff09; 显卡&#xff08;Video…...

深入理解 Django 自定义用户模型

1. 引言 Django 作为一个强大的 Web 框架&#xff0c;内置了用户认证系统。然而&#xff0c;实际项目中我们通常需要扩展用户模型&#xff0c;以满足不同的业务需求。Django 提供了继承 AbstractUser 的方式&#xff0c;让我们能够轻松地定制用户模型。本文将通过一个自定义用…...

顺序表和链表的区别

顺序表和链表的区别 不同点顺序表链表&#xff08;带头双向循环&#xff09;存储空间物理上一定连续逻辑上连续物理上不一定连续随机访问&#xff08;用下标随机访问&#xff09;支持&#xff1a;O(1)不支持&#xff1a;O(N)任意位置插入或者删除元素可能需要搬移元素&#xf…...

系分-数据库总结

历年试题2024年05月试题 BCN范式&#xff0c;模式分解&#xff0c;触发器类型2023年05月试题 NoSQL基本特点&#xff0c;NoSQL对比&#xff0c;混合数据库2022年05月试题4 两段锁&#xff0c;事务并发&#xff0c;数据一致&#xff0c;本地事务发布20…...

new Date()解析

JavaScript 中的 new Date() 构造函数用于创建一个表示日期和时间的对象。Date 对象使得你可以以多种方式获取、设置和格式化日期和时间。让我们深入解析一下 new Date() 及其用法。 创建 Date 对象 可以通过多种方式创建 Date 对象&#xff1a; 不带参数&#xff1a; let no…...

df 的各种用法 以及与du 的区别

df的用法 在 Linux 中&#xff0c;“df”&#xff08;disk free&#xff09;是一个用于显示磁盘空间使用情况的命令。 一、主要功能 它可以列出文件系统的磁盘空间使用情况&#xff0c;包括磁盘总容量、已使用空间、可用空间以及使用率等信息。 二、常见用法及参数 基本用法&a…...

2024年下半年软考准考证什么时候打印?

2024年下半年软考准考证打印入口网址如下&#xff1a; https://bm.ruankao.org.cn/sign/welcome 广东的同学特别注意&#xff1a;准考证打印截止时间是11月8号&#xff0c;也就是考试前一天。一定要提前打印准考证&#xff0c;考试当天是无法打印的。 2024年下半年软考准考证…...

企业安全运行与维护(Enterprise Security Operation and Maintenance)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…...

每日“亿“题 东方博宜OJ 1424-自然数的分解

原题链接&#xff1a;1424 - 自然数的分解-东方博宜OJ 题目描述 给定自然数 n &#xff0c;将其拆分成若干自然数的和。输出所有解&#xff0c;每组解中数字按从小到大排列。相同数字的不同排列算一组解。 如&#xff0c;读入整数 3 &#xff0c;分解方案如下&#xff1a; …...

初识Linux · 文件(1)

目录 前言&#xff1a; 回顾语言层面的文件 理解文件的预备知识 文件和磁盘 使用和认识系统调用函数 前言&#xff1a; 本文以及下篇文章&#xff0c;揭露的都是Linux中文件的奥秘&#xff0c;对于文件来说&#xff0c;初学Linux第一节课接触的就是文件&#xff0c;对于C…...

【MYSQL】mysql约束---自增长约束(auto_increment)

1、概念 在Mysql中&#xff0c;当主键为自增长后&#xff0c;这个主键的值就不再需要用户输入数据了&#xff0c;而由数据库系统根据定义自动赋值。每增加一条记录&#xff0c;主键会自动以相同的步长进行增长。 注意&#xff1a;自增长约束通常与主键放在一起使用。 通过给…...

基于STM32设计的智能学习台灯(华为云IOT)(238)

文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成【4】ESP8266工作模式配置1.2 设计思路【1】整体设计思路【2】整体构架【3】上位机开发思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要1.4 开发工具的选择【1…...

网络层协议 --- IP

序言 在这篇文章中我们将介绍 IP协议&#xff0c;经过这篇文章的学习&#xff0c;我们就会了解运营商到底是如何为我们提供服务的以及平时我们所说的内网&#xff0c;公网到底又是什么&#xff0c;区别是什么&#xff1f; IP 地址的基本概念 1. IP 地址的定义 每一个设备接入…...

Java虚拟机(JVM)介绍

**Java虚拟机&#xff08;JVM&#xff09;**是Java平台的核心组件&#xff0c;它提供了一个运行时环境&#xff0c;使得Java程序可以在不同的操作系统和硬件平台上运行而无需修改。 JVM的架构 JVM主要由以下几个部分组成&#xff1a; 类加载器&#xff08;Class Loader&#xf…...

1000题-计算机网络系统概述

术语定义与其他术语的关系SDU&#xff08;服务数据单元&#xff09;相邻层间交换的数据单元&#xff0c;是服务原语的表现形式。在OSI模型中&#xff0c;SDU是某一层待传送和处理的数据单元&#xff0c;即该层接口数据的总和。 - SDU是某一层的数据集&#xff0c;准备传递给下一…...

Authentication Lab | IP Based Auth Bypass

关注这个靶场的其它相关笔记&#xff1a;Authentication Lab —— 靶场笔记合集-CSDN博客 0x01&#xff1a;IP Based Auth Bypass 前情提要 有些开发人员为了图方便&#xff0c;会给站点设置一个 IP 白名单&#xff0c;如果访问站点的用户的 IP 在白名单内&#xff0c;则允许访…...

linux中的火墙优化策略

1.火墙介绍 1. netfilter 2. iptables 3. iptables | firewalld 2.火墙管理工具切换 在rocky9 中默认使用的是 firewalld firewalld -----> iptables dnf install iptables - services - y systemctl stop firewalld systemctl disable firewalld systemctl mask fi…...

GO网络编程(三):海量用户通信系统1:登录功能初步

一、准备工作 需求分析 1)用户注册 2)用户登录 3)显示在线用户列表 4)群聊(广播) 5)点对点聊天 6)离线留言 主界面 首先&#xff0c;在项目根目录下初始化mod&#xff0c;然后按照如下结构设计目录&#xff1a; 海量用户通信系统/ ├── go.mod ├── client/ │ ├──…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...