
C++
文章平均质量分 91
网友张无忌
这个作者很懒,什么都没留下…
展开
-
一文详解软件测试
软件测试主要旨在通过执行一系列的测试用例,检查和验证软件产品的功能和性能是否符合设计规格和用户需求。这一过程不仅限于查找错误,还包括分析软件在实际环境中的表现,提出改进方案,并确保所有功能在各种条件下都能稳定运行。测试方法:软件测试可以分为手动测试和自动化测试,涵盖从单元测试到系统测试、从内部功能测试到外部兼容性测试等多个层面。其中包括白盒测试和黑盒测试,前者基于内部结构和逻辑进行测试,后者则关注输入与输出结果。测试类型:常见的软件测试类型包括功能测试、性能测试、安全测试、压力测试等。原创 2024-07-12 18:25:44 · 1249 阅读 · 0 评论 -
高效时间管理
时间的四象限管理法是一种有效的时间管理策略,由美国管理学家科维提出。该方法将工作按照重要性和紧急性两个维度进行划分,形成四个象限,从而帮助人们更好地分配时间和资源。第一象限:既重要又紧急(重要且紧急)特点:这类事务通常是危机或迫切问题,需要在限定时间内完成,对个人和组织的影响极大。示例:处理客户投诉、即将到期的项目、突发的健康问题等。处理方法:应优先解决,立即行动。但这类事务应尽可能减少,因为它们往往是由于第二象限的事务没有得到及时处理而转变来的。精力分配:建议分配20%至30%的精力。原创 2024-06-15 23:47:43 · 1234 阅读 · 0 评论 -
Windows、Linux下,基于QT的打包方法
确认方法:修改本地QT的名称,比如:Qt5.12.12,修改为666,如果程序正常运行、功能无缺陷就代表打包成功了。2、找到构建后的文件夹,复制当前生成的exe文件到一个新的文件夹(打包的目的文件,如:fileName)两种打包方法都有问题,但是报错会提醒到我们,无非是某些库没有复制到,这里需要我们进行手动复制、拷贝。10、在Qt的安装目录下,将copylib.sh复制到platforms文件夹当中,执行。命令,此时也会生成lib文件夹,同样复制lib内的库到File下,重复的选替换即可。原创 2024-05-26 17:23:02 · 1950 阅读 · 0 评论 -
QML的Image 路径问题(source)
相对路径: QML 文件和一个名为 close.png 的图片在同一目录下,直接使用 source: “close.png”。QML 会相对于 QML 文件的路径来查找这个图片。绝对路径:知道图片的确切位置,你可以使用绝对路径。但是,这通常不推荐,因为这会使 QML 文件更难以移植和重用。资源路径 :使用 Qt 的资源系统(.qrc 文件),可以将图片添加到资源文件中,并在 QML 中通过资源路径引用它。原创 2024-05-26 16:15:04 · 1268 阅读 · 0 评论 -
.gitignore 文件的说明文档
.gitignore文件说明原创 2024-05-08 10:50:35 · 633 阅读 · 0 评论 -
Qt跨平台开发demo(简单练手)
MVC模式模型(Model)、视图(View)和控制器(Controller)。使用MVC模式有很多优势,例如:简化后期对项目的修改、扩展等维护操作;使项目的某一部分变得可以重复利用;使项目的结构更加直观。具体来讲,MVC模式可以将项目划分为模型(M)、视图(V)和控制器(C)三个部分,并赋予各个部分不同的功能,方便开发人员进行分组。**(1)模型(Model):**模型持有所有的数据、状态和程序逻辑。模型接受视图数据的请求,并返回最终的处理结果。原创 2024-05-08 09:48:11 · 1346 阅读 · 0 评论 -
【AI创作助手使用测试】C++使用场景生成、Windows设备驱动开发介绍、调试技巧
Windows设备驱动开发是编写能够控制硬件的软件程序,它们是操作系统内部的一部分,用于与硬件设备进行通信。设备驱动程序可以控制诸如输入/输出(I/O)端口、中断、DMA、物理内存等硬件资源,使得操作系统和应用程序可以与硬件设备进行通信和协调工作。在Windows操作系统中,设备驱动程序可分为内核模式驱动程序和用户模式驱动程序。内核模式驱动程序是在操作系统内核中运行的程序,具有更高的权限和更大的设备访问能力,通常用于控制核心硬件设备,如磁盘控制器、网络接口卡等。原创 2023-08-30 14:17:05 · 729 阅读 · 2 评论 -
Windows测试模式打开/关闭 C++ Windows驱动开发
Windows下测试模式打开和关闭原创 2023-08-06 10:19:08 · 3835 阅读 · 0 评论 -
驱动开发代码研读
XDMA源码解读原创 2022-12-02 17:17:58 · 6350 阅读 · 4 评论 -
音视频编解码-1
视频开发人员入职系列原创 2022-08-01 17:30:31 · 3291 阅读 · 0 评论 -
怎么成为一个优秀的面试官
转载陈皓——再谈“我是怎么招聘程序员的”文章目录转载陈皓——再谈“我是怎么招聘程序员的”几个重要观点不要肤浅地认识算法题和智力题模拟实际中的挑战和能力把应聘者当成你的同事一些相关的点评1.酷壳的面试题中的答复豆瓣产品经理的面试(这里)建议大家多读读原文,很有深度再谈“我是怎么招聘程序员的”几个重要观点只有应聘者真实和自然的表现,才能了解到最真实的东西重要的不是知识,重要的是其查找知识的能力重要的不是那个解题的答案,而是解题的思路和方法操作,知识,经验,能力我们有很多的面试官似乎分不清,什么是转载 2021-09-06 09:30:45 · 563 阅读 · 0 评论 -
八大排序详解
数据结构八大排序详解文章目录数据结构八大排序详解排序的概念一、直接插入排序1.单趟2.多趟二、希尔排序(改进的插入)1.基本思想2.具体步骤3.单趟4.多趟5.完整希尔总结排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序原创 2021-08-05 09:37:10 · 280 阅读 · 1 评论 -
数据结构——线性表详解(考研必备)
线性表详解线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…1.线性表结构在逻辑上是线性结构物理结构上不一定是连续的线性表在物理上存储时,通常以数组和链式结构的形式存储顺序表1.概念顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组存储动态顺序表:动态开辟原创 2021-08-04 19:54:42 · 768 阅读 · 1 评论 -
一文详解计算机网络
计算机网络原创 2021-08-01 16:44:48 · 1760 阅读 · 0 评论 -
数据结构之时间复杂度、空间复杂度详解
算法效率算法效率分为两种,一种是时间效率,一种是空间效率。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。时间复杂度算法中的基本操作的执行次数,为算法的时间复杂度。如下程序:void Func1(int N) {int count = 0;for (int i原创 2021-07-31 17:14:15 · 332 阅读 · 1 评论 -
内存池及实现(超级容易学习上手)
内存池及实现1.池化技术池是一种设计模式,其内涵在于:将程序中需要经常使用的核心资源先申请出来,放到一个池内,由程序自己管理,这样可以提高资源的使用效率,也可以保证本程序占有的资源数量。如下图:通俗的说,就是把资源放在一个池里,方便调用。经常使用的池技术包括内存池、线程池和连接池等,其中尤以内存池和线程池使用最多。2.内存池内存池(Memory Pool) 是一种动态内存分配与管理技术。内存碎片问题当对如下资源做申请、释放时候,按理是有释放掉的内存(10),但此时内存不一定连续。因此再申原创 2021-07-16 13:30:29 · 406 阅读 · 2 评论 -
C++_进阶_1_继承
C++_进阶—1_继承文章目录C++_进阶—1_继承面向对象的三大特性:面向对象的三大特性:封装:封装本质是一种更好的管理相对C语言面向过程,把数据和方法都放在类中进行管理,再通过访问限定符进行限制。继承:从类设计角度讲,在设计如下类的时候:由于Teacher,Student有很多相似的属性多态...原创 2021-06-18 23:49:37 · 356 阅读 · 1 评论 -
复杂的菱形继承及菱形虚拟继承
复杂的菱形继承及菱形虚拟继承一、单继承一个子类只有一个直接父类时称这个继承关系为单继承,如图:二、多继承一个子类有两个或以上直接父类时称这个继承关系为多继承,如图:三、菱形继承如图所示:1.数据冗余和二义性菱形继承会有数据冗余和二义性的问题。代码示例:class Person{public : string _name ; // 姓名};class Student : public Person{protected : int _num ; //学号};clas原创 2021-06-18 23:45:25 · 222 阅读 · 1 评论 -
C++学习笔记_16_list简单用法
C++学习笔记_16_list简单用法文章目录C++学习笔记_16_list简单用法list介绍一、list使用1.list构造函数2.iterator的使用3.capacity4.element access5.modifiers二、迭代器失效官方文档看这里list介绍list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。list与原创 2021-05-30 17:45:40 · 2391 阅读 · 1 评论 -
C++学习笔记_15_vector简单用法
C++学习笔记_15_容器官方文档在这看文章目录C++学习笔记_15_容器容器的选取一、vector是什么?二、vector构造函数三、vector的遍历方式四、容量空间五、vector增删查改补充1.在通过迭代器拷贝的时候,类型必须一致2.vector < string >3.vector< char > vstr4.习题链接容器的选取随机访问元素:Vector中间插入或删除:list、forword_list头尾插入删除,但不在中间插入删除:deque如果不原创 2021-05-03 22:53:20 · 493 阅读 · 1 评论 -
C++学习笔记_14_string的底层原理及模拟实现
C++学习笔记_14_string的底层原理及模拟实现在上节的学习,简单学习了string的用法,但只有了解底层原理并复现string部分代码才可以更好的理解和应用,我实现了string的部分功能。string简单用法 复习必备目录C++学习笔记_14_string的底层原理及模拟实现注:一、构造与析构二、字符串常用功能遍历字符串并输出注:为了不与string.h文件重复(iostream中有时会包含,C++和Linux细节上有差别,暂时忽略),必须定义自己的命名空间,我的定义zgz(张公子原创 2021-05-02 19:12:48 · 1010 阅读 · 5 评论 -
C++学习笔记_13_string简单用法
string s1;// 构造空的string类对象s1// 用C格式字符串构造string类对象s2// 拷贝构造s3//用3个字符f构造S4默认输出末位字符。原创 2021-04-23 17:48:44 · 1809 阅读 · 10 评论 -
Git和SVN区别
Git和SVN对于编程人员来说,Git和SVN的概念,相信大家都并不陌生,毕竟都是程序员常用的一种工具。那么Git和SVN具有又有哪些区别?既然两者都是工具,又该如何选择呢?首先Git和SVN都是一种版本控制系统,并且GIT跟SVN一样有自己的集中式版本库或服务器。不过Git是一个免费的开源分布式版本控制系统,而SVN是一个开放源代码的版本控制系统,采用了分支管理系统。也就是说GIT更倾向于被使用于分布式模式,就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自原创 2021-04-20 15:54:16 · 506 阅读 · 1 评论 -
C++学习笔记_12_模板与泛型编程(1)
C++学习笔记_12_模板与泛型编程(1)所谓泛型编程就是独立于任何特定类型的方式编写代码。模板是泛型编程的基础,是创建类或函数的蓝图或公式。目录C++学习笔记_12_模板与泛型编程(1)引入一、函数模板1.概念2.格式3.原理4函数模板实例化隐式实例化显式实例化5.模板参数的匹配原则二、类模板1.定义格式引入从最简单的交换函数入手:我们以前是这么实现的:void swap(int a, int b){ int temp = a; a = b; b = temp;}void原创 2021-04-20 15:30:57 · 124 阅读 · 1 评论 -
C++学习笔记_11_动态内存管理(对比malloc、new,free、delete)
C++学习笔记_11_动态内存管理(对比malloc、new,free、delete)目录C++学习笔记_11_动态内存管理(对比malloc、new,free、delete)一、内存空间分配一、内存空间分配例题:如何一次在堆上申请4G内存,只能更换X64的操作系统。以X32的进程为例,C/C++中程序内存区域划分如下:其中:栈:非静态局部变量、返回值、函数参数内存映射段:堆:用于程序运行时动态内存分配,向上增长。malloc、new等都在堆上数据段:存储全局数据和静态数据代码原创 2021-04-19 22:49:15 · 752 阅读 · 7 评论 -
C++学习笔记_10_ 构造函数初始化式
一、再探构造函数1 构造函数体初始化列表与其他函数一样,构造函数具有名字、形参表和函数体,与其他函数不同的是,构造函数还可以包含一个构造函数初始化列表:如下:class Time{public: Date(int hour, int minute, int second) : _hour(hour) , _minute(minute) , _second(second) {} private: int _hour; int _minute; int _原创 2021-04-02 23:27:19 · 326 阅读 · 1 评论 -
C++学习笔记_9_ 类的成员函数-日期类
日期类学习原创 2021-04-01 20:04:37 · 141 阅读 · 1 评论 -
C++学习笔记_11(补充)_ static成员
static成员概念声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态的成员变量一定要在类外进行初始化。特性静态成员为所有类对象所共享,不属于某个具体的实例静态成员变量必须在类外定义,定义时不添加static关键字类静态成员即可用类名::静态成员或者对象.静态成员来访问静态成员函数没有隐藏的this指针,不能访问任何非静态成员静态成员和类的普通成员一样,也有public、protected、p原创 2021-03-31 22:31:58 · 112 阅读 · 1 评论 -
C++学习笔记_8_ 类的成员函数-拷贝复制
目录一、拷贝构造1.概念2.特性二、赋值重载1.运算符重载2.赋值运算符一、拷贝构造在现实生活中,可能存在一个与你一样的自己,我们称其为双胞胎。在创建对象时,也可以创建一个与一个对象一模一样的新对象。1.概念构造函数:只有单个形参,该形参是对本类 类型对象的引用(一般常用const修饰),再用已存在的类类型对象创建新对象时由编译器自动调用。2.特性拷贝构造函数也是特殊的成员函数,其特性如下:拷贝构造函数是构造函数的一个重载形式。拷贝构造函数的参数只有一个且必须使用引用传参。(使用传值方式原创 2021-03-30 22:26:17 · 496 阅读 · 1 评论 -
C++学习笔记_7_ 类的成员函数-析构函数
析构函数前面通过:构造函数的学习,我们知道一个对象时怎么来的,那一个对象又是怎么没呢的?1.概念析构函数:与构造函数功能相反,析构函数不是完成对象的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成类的一些资源清理工作。2.特性析构函数是特殊的成员函数。其特征如下:析构函数名是在类名前加上字符 ~。无参数无返回值。一个类有且只有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。对象生命周期结束时,C++编译系统系统自动调用析构函数:typedef原创 2021-03-30 21:48:14 · 626 阅读 · 1 评论 -
C++学习笔记_6_ 类的成员函数-构造函数
构造函数1.概念对于以下的日期类,可以通过SetDate公有的方法给对象设置内容。但每次创建对象都调用该方法过于麻烦。构造函数在对象创建时,就完成了初始化。class Date{ public: void SetDate(int year, int month, int day) { _year = year; _month = month; _day = day; } void Display() { cout <<_year<< "-" <原创 2021-03-30 21:22:42 · 311 阅读 · 1 评论 -
C++学习笔记_5_ 类与对象(2)隐藏的this指针
C++学习笔记_5_ 类与对象(2)目录C++学习笔记_5_ 类与对象(2)一、隐藏的this指针二、类的成员函数1.构造函数1.1概念1.2特性一、隐藏的this指针1.引入定义如下日期类:class Date{ public : void Display () { cout <<_year<< "-" <<_month << "-"<< _day <<endl; } void SetDate(int原创 2021-03-29 22:52:51 · 205 阅读 · 1 评论 -
C++学习笔记_4_ 类与对象(1)
C++学习笔记_4_ 类与对象(1)目录C++学习笔记_4_ 类与对象(1)面向对象和面向过程一、pandas是什么?二、使用步骤1.引入库2.读入数据总结面向对象和面向过程C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务原创 2021-03-03 21:12:58 · 105 阅读 · 1 评论 -
C++学习笔记_3_ C++入门 内联函数
C++学习笔记_3_ C++入门(3)文章目录C++学习笔记_3_ C++入门(3)一、内联函数1.查看方式2.特性宏的优缺点C++有哪些技术替代宏?一、内联函数以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。1.查看方式在release模式下,查看编译器生成的汇编代码中是否存在call Add在debug模式下,需要对编译器进行设置,否则不会展开2.特性inline是一种以空间换时间的做法,省去原创 2021-02-02 16:36:28 · 274 阅读 · 1 评论 -
C++学习笔记_2_ C++指针和引用
C++学习笔记_2_ C++入门(2)目录C++学习笔记_2_ C++入门(2)前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引原创 2021-02-02 16:04:41 · 212 阅读 · 1 评论 -
C++学习笔记_1_ C++入门 IO和参数
C++学习笔记(1)C++入门目录C++学习笔记(1)C++入门前言一、命名空间使用二、C++输入&输出1.输出hello world2.输出数据3.输入输出数据三、缺省参数1.缺省参数概念2.缺省参数分类四、重载什么是函数重载为什么c语言不支持重载,C++支持重载?前言提示:这里可以添加本文要记录的大概内容:从今天开始记录自己学习C++的过程,并分享给大家,共同进步。注:从0开始一、命名空间使用一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。给出如原创 2021-01-31 17:32:15 · 127 阅读 · 1 评论