- 博客(61)
- 收藏
- 关注
原创 前端开发-Javascript 基础语法
如果一个变量没有被初始化过.结果就是 undefinedundefined 和字符串进行相加,结果进行字符串拼接.undefined 和数字进行相加,结果为 NaN。
2024-10-27 19:10:42
1130
原创 前端开发-HTML
HTML:超文本标记语言。超文本:文本,声音,图片,视频,表格,链接。标记:由许许多多的标签组成。HTML 页面试运行到浏览器上面的。
2024-10-22 15:17:33
1133
原创 Qt-常用控件(3)-输入类
核心属性核心信号在界面上创建输入框和一个按钮编写 widget.cpp,把按钮初始 enabled 设为 false.给输入框添加验证器,使用 QRegExp 创建一个正则表达式对象。“^1\d{10}$”表示"以1开头,后面跟上任意的10个十进制数字”.使用 QRegExpValidator 创建一个验证器对象.Qt 中内置了四个主要的验证器对象在界面上创建两个输入框和一个label编写代码,设置两个输入框的 echoMode 为 Password
2024-09-07 20:02:50
1284
原创 Qt-常用控件(2)-按钮类和显示类
其中 default 和 audoDefault 影响的是按下enter 时自动点击哪个按钮的行为;flat 把按钮设置为扁平的样式,这里我们暂时都不做过多关注.
2024-09-07 10:42:28
603
原创 Qt-常用控件
在Qt Assistant 中搜索 QWidget,即可找到对应的⽂档说明. (或者在 Qt Creator 代码中,选中QWidget,
2024-09-04 20:32:45
988
原创 Qt-信号与槽
所谓的自定义一个 槽函数,操作过程和自定义一个普通的成员函数,没啥区别!!在以前版本的 Qt 中,槽函数必须放到此处的 slots 是 Qt 自己扩展的关键字,(不是 C++ 标准中的语法)Qt 里广泛使用了 元编程 技术.(基于代码,生成代码)qmake 构建 Qt 项目的时候, 就会调用专门的扫描器, 扫描代码中特定的关键字.(slots 这种)基于关键字自动生成一大堆相关的代码.举一个例子:按下按钮,更改窗口的标题。(Qt)button->setText("按钮");
2024-09-02 21:21:30
1423
原创 Qt-初始Qt
Qt是⼀个跨平台的C++图形⽤⼾界⾯应⽤程序框架。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是完全⾯向对象的,很容易扩展。Qt为开发者提供了⼀种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应⽤程序,同时也可以使⽤C++语⾔进⾏⾼级开发。**图形⽤⼾界⾯:**指采⽤图形⽅式显⽰的计算机操作⽤⼾界⾯,是计算机与其使⽤者之间的对话接,是计算机系统的重要组成部分。如下分别是:Android⼿机图形⽤⼾界⾯和IOS⼿机图形⽤⼾界⾯。
2024-09-01 21:37:46
1130
原创 C++进阶-IO流
在C语言中,如果想要将一个整形变量的数据转化为字符串格式,如何去做?使用itoa()函数使用sprintf()函数但是两个函数在转化时,都得需要先给出保存结果的空间,那空间要给多大呢,就不太好界定,而且转化格式不匹配时,可能还会得到错误的结果甚至程序崩溃。int main()// 将数字转化为字符串cout
2024-08-16 16:41:59
883
原创 C++进阶-类型转换
1. C语言中的类型转换在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化,C语言中总共有两种形式的类型转换:隐式类型转换和显式类型转换。隐式类型转化:编译器在编译阶段自动进行,能转就转,不能转就编译失败显式类型转化:需要用户自己处理注意:C语言隐式类型转换:整形之间 浮点数和整形之间强制类型转换:指针之间 整形和指针无关联类型是不支持转换的2.C++中的类型转换兼容C的转换用法:内置类
2024-08-16 15:22:28
868
原创 C++进阶-特殊类设计
拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,。C++98将,delete除了释放new申请的资源外,如果在默认成员函数后跟上=delete,。
2024-08-16 11:43:30
578
原创 C++进阶-智能指针
什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死。// 1.内存申请了忘记释放// 2.异常安全问题Func();// 这里Func函数抛异常导致 delete[] p3未执行,p3没被释放.
2024-08-13 17:22:27
921
原创 C++进阶-异常
实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了public:, _id(id){}protected:int _id;
2024-08-12 19:48:37
807
原创 C++进阶-C++11
2.2 std::initializer_list3. 声明3.1 auto3.2 decltype3.3 nullptr4. 范围for循环5.STL中的一些变化6. 右值引用和移动语义6.1 左值引用和右值引用6.2 左值引用与右值引用比较6.3 右值引用的使用场景和意义7. 新的类功能8.可变参数模板9
2024-08-09 10:46:25
1053
原创 C++进阶-哈希表
映射:值和值进行1对1或者1对多的关联值和位置直接或者间接映射1.值很分散2.有些值不好映射,比如:string,结构体对象。
2024-07-30 10:41:19
855
原创 map_set(红黑树封装)
节点颜色定义:用枚举类型来定义// 枚举 enum Colour {节点数据类定义:模板来定义,来让map和set实例化,来在这里给与T相应的参数,来实现map和set// 节点类// 数据直接用一个来代替// 父亲节点// 左孩子节点// 右孩子节点T _data;
2024-07-26 16:16:46
318
原创 C++进阶-红黑树(map和set)
/ 枚举RED,BLACK// 节点类// 父亲节点// 左孩子节点// 右孩子节点// 节点数据// 节点颜色// 构造函数, _kv(kv){}
2024-07-26 11:33:24
1065
原创 C++进阶-AVL树(map和set)
/ 节点类//K _key;// 节点数据// 左孩子// 右孩子// 父亲节点// 数据int _bf;// 平衡因子// 构造函数_bf(0),_kv(kv){}
2024-07-22 16:53:15
987
原创 C++进阶-map_set
set是按照一定次序存储元素的容器在set中,元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const),但是可以从容器中插入或删除它们。在内部,set中的元素总是按照其内部比较对象(类型比较)所指示的特定严格弱排序准则进行排序。set容器通过key访问单个元素的速度通常比unordered_set容器慢,但它们允许根据顺序对子集进行直接迭代。set在底层是用二叉搜索树(红黑树)实现的。
2024-07-20 15:47:28
943
原创 C++进阶-多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。1.虚函数的重写(父子类虚函数,要求三同(函数名、参数、返回值))2.父类的指针或引用去调用虚函数在虚函数的后面写上 =0 ,则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类(也叫接口类),抽象类不能实例化出对象。派生类继承后也不能实例化出对象,只有重写纯虚函数派生类才能实例化出对象。
2024-07-06 20:24:47
725
原创 c++进阶-继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。//父类public:protected:// 姓名// 年龄// 继承后父类的Person的成员(成员函数+成员变量)都会变成子类的一部分。
2024-07-03 18:17:23
781
原创 模板的进阶
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】\1. 模板复用了代码,节省资源,更快的迭代开发,**C++的标准模板库(STL)**因此而产生\2. 增强了代码的灵活性【缺陷】\1. 模板会导致代码膨胀问题,也会导致编译时间变长\2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。
2024-06-30 11:57:32
757
原创 STL-迭代器
正向迭代器是用一个类封装的,迭代器类。例如:在vector,string中的迭代器就相当于一个指针,在list类中用一个类来封装一个节点,实质上也还是一个指针,迭代器就相当于指向一个节点的指针。
2024-06-27 21:11:41
363
原创 STL-stack_queue
stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作。
2024-06-24 16:32:08
932
原创 STL-list
1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。3. list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。4. 与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。
2024-05-27 21:49:29
917
原创 STL--vector
vector是一个可变大小数组的序列容器就如同数组一样,vector也采用的是连续存储空间来存储元素;又不同于数组,他的大小会被容器自动处理,大小会自动改变本质上,vector使用动态分配数组来存储元素,新元素插入时,vector会重新分配一个内存更大的新数组,而将之前内存的元素都转移到这个数组中,释放之前的数组空间vector分配空间策略:vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大。
2024-04-12 17:52:45
767
原创 Linux-5 git和gdb
版本控制:就是将每一次修改的都会上传一次,每次会有自己的上传记录,并且记录每一次的版本,可以随时得到每次上传后的版本内容。Linux下,gcc/g++采用debug模式编译程序的命令,要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项。debug:对代码的优化会弱于release,但可在编译器形成可执行程序时,会给可执行程序增加调试信息。windows中就运用git的三板斧,add,commit,push。会将当前目录下已经修改过的部分记录下来,添加到git仓库的暂存区。
2024-04-08 20:11:14
620
原创 Linux-3 yum和vim
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
2024-03-30 17:52:15
2322
原创 Linux-1.常见指令以及权限理解
1. 初始Linux操作系统2. 初识shell命令 ,了解若干背景知识。3. 使用常用Linux命令4. 了解Linux权限概念与思想,能深度理解“权限”5. 初步了解Linux 目录结构含义。
2024-03-25 21:44:08
894
1
原创 C/C++内存管理
int _val;{}// 创建的不带哨兵位// 哨兵位int val;printf("请依次输入%d个节点的值:>", n);i < n;int n = 1;int main()// 1、用法上,变简洁了// new 10个int对象// 2、可以控制初始化// new 1个int对象,初始化成10// 3、自定义类型,开空间+构造函数。
2024-02-24 11:46:47
839
原创 类和对象(下)
3. 经过2之后,在计算机中就有了一个洗衣机类,但是洗衣机类只是站在计算机的角度对洗衣机对象进行描述的,通过洗衣机类,可以实例化出一个个具体的洗衣机对象,此时计算机才能洗衣机是什么东西。比如上述Time类和Date类,在Time类中声明Date类为其友元类,那么可以在Date类中直接访问Time类的私有成员变量,但想在Time类中访问Date类中私有的成员变量则不行。友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加friend关键字。
2024-02-19 11:16:31
941
原创 类和对象(中)
目录【本节目标】1.类的6个默认成员函数2.构造函数2.1概念2.2特性3.析构函数3.1概念3.2 特性4.拷贝构造函数4.1概念 4.2特征5.赋值运算符重载5.1运算符重载5.2 赋值运算符重载5.3前置++和后置++重载6.日期类的实现Date.h Date.cpp Test.cpp7.const成员8.取地址及const取地址操作符重载2.2特性3.析构函数3.1概念3.2 特性 6.日期类的实现
2024-02-14 16:11:45
1534
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人