自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

第一大剑豪——索隆

得不到的永远在骚动

  • 博客(166)
  • 资源 (1)
  • 收藏
  • 关注

原创 Qt——记录:http表单格式上传文件到七牛云和阿里云

环境:windows10版本:Qt 5.15.2工具:QtCreator背景:通过http表单格式上传文件,兼容阿里云和七牛云。问题1:ErrorCode: MalformedPOSTRequest ErrorMessage: The body of your POST request is not well-formed multipart/form-data分析:最初看到问题有点懵,后来看到这位大佬博客(http multipart上传阿里oss失败(MalformedPOST.

2021-07-06 15:21:02 1262 2

原创 Qt——跨平台图片模糊:图片在windows上清晰mac上也清晰

一、问题背景 最近将windows项目迁移到Mac上,发现图片模糊。本节主要介绍在mac上图片模糊原因。下一节介绍解决方案和代码。废话不多说,直入主题。二、视网膜屏幕 视网膜屏幕是分辨率超过人眼识别极限的高分辨率屏幕,是由苹果公司在2010年iPhone 4发布会上首次推出的营销术语。视网膜(Retina)屏幕是苹果公司"发明"的一个营销术语。并在部分移动产品使用。苹果这个术语用在iphone 4手机上,自此一直沿用,它将960×640的像素压缩到一个3.5英寸...

2021-03-13 16:34:05 1000

原创 Qt——功能:高清头像(锯齿小)

最近UI小哥哥检查界面效果,觉得头像显示不够清晰。当前效果图:竞品效果图:原图:1.当前效果图:实现方法:通过样式表实现圆形头像和缩放效果。实现代码:QLabel styleSheetLabel;styleSheetLabel.setFixedSize(40, 40);styleSheetLabel.setStyleSheet(QString("QLabel{border-radius:20px;border-image:url(%1);}").arg(..

2020-10-26 10:09:49 783 2

原创 Qt——QFontMetrics计算字符串宽度那点坑

突然收到测试小姐姐一条消息:有bug,课程名称显示不全,而且也没有“...”。我:不可能吧,是不是你电脑有问题。测试小姐姐:丢过来一张截图,显示的课程名称确实不全。 用相同数据在自己电脑上再次测试了一遍,仍然没有问题。带着疑问去测试那里又看了一遍,果然还是显示不全。查看了下电脑分辨率相关信息,发现“显示大小为100%”,脑袋里突然有了点想法。windows系统提示:修改“显示大小”会更改文本大小。看到这句话突然想到了DPI。DPI是什么? DPI全称D...

2020-10-16 10:00:55 5121 1

原创 72-动态内存申请的结果

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、动态内存申请的结果1)问题 动态内存申请一定成功吗?2)常见的动态内存分配代码C代码:int* p = (int*)malloc(10*sizeof(int)); //(int*)malloc为强转,默认void*if( p != NULL){ // ... ...}C++代码:...

2020-09-23 10:23:14 179

原创 71-函数的异常规格说明

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、函数的异常规格说明1)问题 如何判断一个函数是否会抛出异常,以及抛出哪些异常?1、给函数声明抛出异常2、查看文档2)C++提供语法用于声明函数所抛出的异常3)异常声明作为函数声明的修饰符,写在参数列表后面/*可能抛出任何异常*/void func1();/*只能抛出的异常类型:char和int*/v...

2020-09-22 13:25:41 189

原创 70-异常处理深度解析

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、异常处理深度解析1)问题 如果在main函数中抛出异常会发生什么?2)如果异常不处理,最后会传到哪里?3)下面的代码输出什么?编程实验异常的最终处理?E1-1.cpp#include <iostream>using namespace std;class Test{...

2020-09-22 13:10:30 1533 1

原创 69-技巧:自定义内存管理

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0笔试题一: 统计对象中某个成员变量的访问次数分析:1) 考察面向对象相关的知识2) 考察内容成员变量的访问次数我的思路:定义两个成员变量,一个被访问,一个记录次数缺陷没有考虑种类(只读成员对象)如果是只读对象,成员变量不能被访问!遗失的关键字1)mutable(可变)是为了突破const函数的限制而...

2020-09-22 13:01:32 243

原创 68-拾遗:令人迷惑的写法

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、令人迷惑的写法1)下面的程序想要表达什么意思?template <class T> //二义性:1、特定的类类型T 2、限定为自定义类类型Tclass Test //类模板{public: Test(T t){}};template <class T>void func(T a[], int l.

2020-09-21 13:24:47 146

原创 67-经典问题解析五

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0面试问题一: 编写程序判断一个变量是不是指针。一、指针的判别1) 拾遗 - C++中仍然支持C语言中的可变参数函数(接收任意类型参数) - C++编译器的匹配调用优先级 1、重载函数 2、函数模板 3、变参函数回顾:重载函数、函数模板、变参函数...

2020-09-18 13:26:30 96

原创 66-C++中的类型识别

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、类型识别1) 在面向对象中可能出现下面的情况 - 基类指针指向子类对象 - 基类引用成为了子类对象的别名无法判断p指向父类对象还是子类对象。p期望指向Base*(父类)2) 静态类型—变量(对象)自身的类型(写代码时就能确定类型)3) 动态类型—指针(引用)所指向对象的实际类型问题...

2020-09-17 13:01:23 177

原创 65-C++中的异常处理(下)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、C++中的异常处理1)catch语句块中可以抛出异常需要其它处理异常的代码,接受异常。try...catch...异常处理中,也有初始化,不过没有转换,必须严格匹配。try...catch(...)...异常匹配为任意类型,但是不知道参数类型,只能throw再抛出异常(原有类型)问题 为什么要在catch中重新抛...

2020-09-17 10:07:00 281

原创 64-C++中的异常处理(上)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、C++异常处理1)C++内置了异常处理的语法元素try...catch... - try语句处理正常代码逻辑 - catch语句处理异常情况 - try语句中异常由对应的catch语句处理try{ double r = divide(1,0);}catch(...){ cout <&...

2020-09-16 13:26:39 126

原创 63-C语言异常处理

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、异常处理1)异常的概念 - 程序在运行过程中可能产生异常 - 异常(Exception)与Bug的区别 *异常是程序运行时可预料的执行分支(异常操作) *Bug是程序中的错误,是不被预期的运行方式2)异常(Exception)和Bug的对比: ...

2020-09-16 13:18:50 246

原创 62-单例类模板

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、单例模式(设计模式)1)需求的提出在架构设计时,某些类在整个系统生命期中最多只能有一个对象存在(Single Instance)问题如何定义一个类,使得这个类最多只能创建一个对象?2)要控制类的对象数目,必须对外隐藏构造函数3)思路:- 将构造函数的访问属性设置为private(外界无法创建对象)- 定义instance并初始化..

2020-09-15 13:19:59 190

原创 61-智能指针类模板

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、智能指针的意义 - 现代C++开发库中最重要的类模板之一 - C++中自动内存管理的主要手段 - 能够在很大程度上避开内存相关的问题(内存忘了释放或者多次指针释放)二、STL中的智能指针auto_ptr - 生命周期结束时,销毁指向的内存空间 - ...

2020-09-15 13:12:38 117

原创 60-数组类模板

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、预备知识1)模板参数可以是数值型参数N必须为常数(数值型参数:int、unsigned int、short、unsigned short、long、unsigned long)T泛指类型2)数值型模板参数的限制 - 变量不能作为模板参数(变量在编译期间不能确定数值) - 浮点数不能作为模板参数(计...

2020-09-15 13:02:28 691

原创 59-类模板深度剖析

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、多参数类模板1)类模板可以定义任意多个不同的类型参数函数模板也可以支持多个不同类型参数。使用类模板必须一一指定类型。2)类模板可以被特化 - 指定类模板的特定实现 - 部分类型参数必须显示指定 - 根据类型参数分开实现类模板特殊化为只接受一个类型(T1和T2类型相...

2020-09-14 13:30:17 113

原创 58-类模板的概念和意义

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、思考 在C++中是否能够将泛型的思想应用于类? stl标准库里广泛应用。二、类模板1) 一些类主要用于存储和组织数据元素2) 类中数据组织的方式和数据元素的具体类型无关3) 如:数组类,链表类,Stack类,Queue类,等 C++中将模板的思想应用于类,使得类的实现不关注数据元...

2020-09-14 13:10:42 138

原创 57-深入理解函数模板

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、函数模板1)函数模板深入理解(本质) - 编译器从函数模板通过具体类型产生不同的函数 - 编译器会对函数模板进行两次编译 *对模板代码本身进行编译 *对参数替换后的代码进行编译2)注意事项: - 函数模板本身不允许隐式类型转换...

2020-09-14 09:57:54 122

原创 56-函数模板的概念和意义

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0进入泛型编程的世界:实际工程中必用的技术,函数模板和类模板就是泛型编程技术。一、发散性问题 C++中有几种交换变量的方法? 二、交换变量的方法 定义宏代码块 VS 定义函数编程实验变量的交换56-1.cpp#include <iostream>#include <stri...

2020-09-13 15:38:52 115

原创 55-经典问题解析四

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、关于动态内存分配 new和malloc的区别是什么? delete和free的区别是什么?1)new关键字与malloc函数的区别(表象) - new关键字是C++的一部分 - malloc是由C库提供的函数 - new以具体类型为单位进行内存分...

2020-09-12 17:30:50 135

原创 54-被遗弃的多重继承(下)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、多重继承的问题三1)多重继承可能产生多个虚函数表会产生多个虚函数表。编程实验多重继承问题三54-1.cpp#include <iostream>#include <string>using namespace std;class BaseA{public: virtual void funcA...

2020-09-12 16:25:52 72

原创 53-被遗弃的多重继承(上)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、问题 C++中是否允许一个类继承自多个父类?二、C++中的多重继承1)C++支持编写多重继承的代码 - 一个子类可以拥有多个父类 - 子类拥有所有父类的成员变量 - 子类继承所有父类的成员函数 - 子类对象可以当作任意父类对象使...

2020-09-12 16:05:37 85

原创 52-C++中的抽象类和接口

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、什么是抽象类?1)面向对象中的抽象概念 在进行面向对象分析时,会发现一些抽象的概念! 图形的面积如何计算? 在现实中需要知道具体的图形类型才能求面积, 所有对概念上的“图形”求面积是没有意义的!(因为不知道图形类型)class Shape...

2020-09-11 13:34:03 144

原创 51-C++对象模型分析(下)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、继承对象模型1)在C++编译器的内部类可以理解为结构体2)子类是由父类成员叠加子类新成员得到的编程实验继承对象模型初探51-1.cpp#include <iostream>#include <string>using namespace std;class Demo{protected: int mi.

2020-09-11 13:25:22 152

原创 50-C++对象模型分析(上)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、回归本质1)class是一种特殊的struct - 在内存中class依旧可以看作变量的集合 - class与struct遵循相同的内存对齐规则 - class中的成员函数与成员变量是分开存放的 * 每个对象有独立的成员变量 * 所有对象共享类中的成员函数2)值得思考的问题...

2020-09-10 13:27:51 109

原创 49-多态的概念和意义

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、函数重写顾虑1)父类中被重写的函数依然会继承给子类2)子类中重写的函数将覆盖父类中的函数 (父类函数不能满足子类需求)3)通过作用域分辨符(::)可以访问到父类中的函数Child c;Parent* p = &c;c.Parent::print(); //从父类中继承c.print(); //.

2020-09-09 13:19:59 199

原创 48-同名覆盖引发的问题

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、父子间的赋值兼容1)子类对象可以当作父类对象使用(兼容性) - 子类对象可以直接赋值给父类对象 - 子类对象可以直接初始化父类对象 - 父类指针可以直接指向子类对象(子类退化为父类) - 父类引用可以直接引用子类对象(子类退化为父类)编程实验子类对象的兼容性48-1.cpp#include ...

2020-09-09 13:12:13 705

原创 47-父子间的冲突

一、思考 子类中是否可以定义父类中的同名成员?如果可以,如何区分?如果不可以,为什么?编程实验同名成员变量47-1.cpp#include <iostream>#include <string>using namespace std;class Parent{public: int mi;};class Child : public Parent{public: int mi;};int main...

2020-09-09 12:57:52 412

原创 46-继承中的构造与析构

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、思考 如何初始化父类成员?父类构造函数和子类构造函数有什么关系?二、子类对象的构造1)子类中可以定义构造函数2)子类构造函数 - 必须对继承而来的成员进行初始化 *直接通过初始化列表或者赋值的方式进行初始 *调用父类构造函数进行初始化3)父类构造函...

2020-09-08 13:28:20 97

原创 45-不同的继承方式

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、被忽视的细节 冒号(:)表示继承关系,Parent表示被继承的类,public的意义是什么?class Parent{};class Child : public Parent{};二、有趣的问题 是否可以将继承语句中的public换成protected或者private?如果可以,与public继承有...

2020-09-08 13:18:57 90

原创 44-继承中的访问级别

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、值得思考的问题 子类是否可以直接访问父类的私有成员?二、思考过程子类不能直接访问父类的私有成员!编程实验继承中的访问级别44-1.cpp#include <iostream>#include <string>using namespace std;class Parent{pri...

2020-09-08 13:11:04 94

原创 43-继承的概念和意义

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、思考 类之间是否存在直接的关联关系?二、生活中的例子1)组合关系:整体与部分的关系UML图:菱形实心为组合关系 ,箭头方向指向4个成员对象。实例分析组合关系的描述43-1.cpp#include <iostream>#include <string>using namespace std;...

2020-09-07 13:32:50 129

原创 42-类型转换函数(下)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、问题 类类型是否能够类型转换到普通类型?二、类型转换函数1)C++类中可以定义类型转换函数2)类型转换函数用于将类对象转换为其它类型3)语法规则:operator Type(){ Type ret; //... return ret;}编程实验类型转换函数初探42-1.cpp#i...

2020-09-07 13:19:01 99

原创 41-类型转换函数(上)

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、再论类型转换1)标准数据类型之间会进行隐式的类型安全转换2)转换规则如下:实验分析有趣的隐式类型转换41-1.cpp#include <iostream>#include <string>using namespace std;int main(){ short s = 'a'; unsi.

2020-09-07 13:12:13 90

原创 40-前置操作符和后置操作符

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、值得思考的问题1)下面的代码有没有区别?为什么?i++; //i 的值作为返回值,i自增1。++i; //i自增1,i的值作为返回值test.cpp#include <iostream>using namespace std;int main(){ int i = 0; //++i..

2020-09-07 09:54:12 114

原创 39-逗号操作符的分析

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、逗号操作符1)逗号操作符(,)可以构成逗号表达式 - 逗号表达式用于将多个子表达式连接为一个表达式 - 逗号表达式的值为最后一个子表达式的值 - 逗号表达式中的前N-1个子表达式可以没有返回值 - 逗号表达式按照从左向右的顺序计算每个子表达式的值 exp1,exp2,exp3,……,expN...

2020-09-06 16:12:17 121

原创 38-逻辑操作符的陷阱

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、潜规则1) 逻辑运算符的原生语义 - 操作数只有两种值(true和false) - 逻辑表达式不用完全计算就能确定最终值(重点:短路法则) - 最终结果只能是true或者false编程实验逻辑表达式38-1.cpp#include <iostream>#include ...

2020-09-06 16:01:02 96

原创 37-智能指针分析

注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。测试环境:Ubuntu 10.10GCC版本:9.2.0一、永恒的话题1)内存泄露(臭名昭著的Bug) - 动态申请堆空间,用完后不归还 - C++语言中没有垃圾回收的机制 - 指针无法控制所指堆空间的生命周期编程实验内存泄露37-1.cpp#include <iostream>#include <string>...

2020-09-06 15:12:26 93

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除