- 博客(14)
- 收藏
- 关注
原创 vs qt项目互转
用工具QT VS TOOL生成.pro,执行convert,移动ui_QtGuiApplication.h,在pro文件添加greaterThan(QT_MAJOR_VERSION, 4): QT += widgets这句话。如果你加上greaterThan(QT_MAJOR_VERSION, 4): QT += widgets,还是几十上百个的报错,项目-右击-清除-执行qmake,然后构建或者运行都可以。在 D:\QT\Qt5.9.0\5.9\msvc2015\mkspecs\common\ms
2022-05-09 10:48:28 1100
原创 虚拟机配置静态ip后无法ping 地址
ifcfg-en0xx文件中必须要有HWADDR=物理地址查看物理地址 ip addr或者ifconfiglink/ether 这个后面的那一段就是物理地址
2021-11-26 17:02:21 240
原创 makefile:15: *** missing separator。 停止。
使用make命令时报错makefile:15: *** missing separator。 停止。15:表示Makefile文件中第15行有错误;missing separator:缺少Tab解决方法:vim makefile 找到对应的行数,在行首按下Tab,保存退出。Makefile中命令行必须按Tab开头。...
2021-11-08 10:51:21 1820
转载 矩阵的平移、旋转、缩放
平时开发程序,免不了要对图像做各种变换处理。有的时候变换可能比较复杂,比如平移之后又旋转,旋转之后又平移,又缩放。直接用公式计算,不但复杂,而且效率低下。这时可以借助变换矩阵和矩阵乘法,将多个变换合成一个。最后只要用一个矩阵对每个点做一次处理就可以得到想要的结果。另外,矩阵乘法一般有硬件支持,比如3D图形加速卡,处理3D变换中的大量矩阵运算,比普通CPU要快上1000倍。下面是3类基本的2D图形变换。平移:设某点向x方向移动dx,y方向移动dy,[x,y]为变换前坐...
2021-11-04 10:15:06 6381
原创 C++利用随机数生成验证码
#include <iostream>using namespace std;#include <cstdlib>#include <ctime>#include <string>void myrand(string &str,int leng){ srand(int(time(0)));//产生随机种子,保证每次的数据都不重复 char temp= '0'; for (int i = 0; i < leng; i++) .
2021-11-01 16:32:44 1140
原创 算法:冒号排序C++
//#include <bits/stdc++.h>#include <iostream>using namespace std;/*冒号排序:冒泡排序(BubbleSort)的基本方法是:设待排序元素序列的元素个数为n,从后向前两两比较相邻元素的值,如果发生逆序(即前一个比后一个大),则交换它们,直到序列比较完。我们称它为一趟冒泡,结果是最小的元素交换到待排序序列的第一个位置,其他元素也都向排序的最终位置移动。下一趟冒泡时前一趟确定的最小元素不参加比较,待排序序列.
2021-10-28 10:15:32 955
原创 纯虚函数和抽象类
多态链接在c++多态中,往往基类的虚函数是没有调用的,可以把它写成纯虚函数。纯虚函数的语法:virtual 返回值类型 函数名 (参数列表)= 0;当类中有了纯虚函数,这个类就是抽象类。抽象类的特点:1、类无法实例化对象。 2、子类必须重写基类虚函数,不然也是一个抽象类。纯虚函数的目的:让派生类必须重写基类的虚函数,达到多态的效果。...
2021-10-27 10:47:25 171
原创 C++三大特性之一:多态
多态分为静态多态和动态多态;静态多态:函数重载、运算符重载,函数的地址在编译阶段就绑定了。动态多态:派生类和虚函数实现运行时多态,函数的地址运行时绑定。动态动态满足条件:1、有继承关系 2、派生类重写(函数名、返回值类型、参数列表完全相同)基类虚函数动态多态的使用:基类的指针或者引用指向派生类的对象动态多态原理:在类中声明一个虚函数时,会有一个vfptr(虚函数(表)指针),会被派生类所继承,这个指针指向vftabl...
2021-10-27 10:24:30 119
原创 C++类之初始化列表
除了传统的在构造函数中对成员进行初始化操作外,C++提供了另一种初始化的操作,就是初始化列表。class Test_1{ Test_1() //构造函数 { //传统的初始化操作 A=10; B=20; C=30; } int A; int B; int C;};class Test_2{ Test_2(int a,int b,int c)...
2021-10-26 10:25:44 209
原创 C++类的构造函数的调用原则
在创建一个类的时候C++编译器会至少提供三个函数(用户没有自己定义构造函数的情况下),默认构造函数(无参,函数体为空)、默认析构函数(无参,函数体为空)、默认拷贝构造函数,对类的属性进行值拷贝(浅拷贝)。 调用原则:1、当用户只定义了有参构造函数,C++不会提供默认构造函数,但是默认拷贝构造函数依然提供。 2、当用户只定义了拷贝构造函数,C++不会提供其他构造函数。class Test{ Test();/...
2021-10-26 09:56:03 259
原创 拷贝构造函数的调用时机
1、使用已经创建好的对象来初始化一个新对象。如有class A有如下定义:A a;A b=a;//A b(a);构造函数-》拷贝构造函数-》析构函数-》析构函数2、使用类对象作为函数的形参进行值传递。void test(A a){ A b=a;}值传递的本质是拷贝一个临时的副本,此时会调用拷贝构造函数。3、使用类对象作为函数的返回值。A test(){A a;return a;}...
2021-10-25 17:08:12 188
原创 六种进程间通信方式
管道 管道pipe分为匿名管道和命名管道(FIFO),匿名管道用于父子进程间通信,没有实体文件;父进程fork()一个子进程,子进程可获得父进程的文件描述符fd;命名管道可用于不同进程间通信,有设备文件;匿名管道是单工通信,命名管道是双工通信;遵循数据先进先出原则。创建匿名管道系统调用:int pipe(int fd[2]); fd[1]用于写端,fd[0]用于读端。 创建命名管道系统指令:mkfifo 管道名信号 Linux系统中可用k...
2021-10-22 16:56:52 257
原创 C++浅拷贝和深拷贝
前提被拷贝的对象是一个类实例,对类实例进行拷贝时,会调用拷贝构造函数;如果自己没有定义拷贝构造函数,编译器则会调用默认拷贝构造函数,这种情况是浅拷贝。可能存在问题,如果构造函数中存在指针成员,实例化对象时会先走构造函数,再走析构函数;浅拷贝时,会走默认拷贝构造函数和析构函数。这里走了两次析构函数,析构函数会回收指针指向的堆内存,第一次正常回收,但是第二次回收时,该内存已经不存在了,就会导致内存泄漏,程序异常结束。 为了避免以上问题,需要自己定义拷贝构造函数,对类实例进行拷贝...
2021-10-18 15:53:58 133
原创 Linux下QT软件使用C++语言调用百度AI接口实现人脸库人脸搜索
参考文档Qt+百度AI实现人脸识别之人脸检测_画茧自缚-CSDN博客本文档对于以上文档进行精简,参考以上文档实现百度AI人脸库管理-人脸搜索;百度AI接口一通具通,可以以此方法扩展。.h部分#ifndef BAIDUAI_H#define BAIDUAI_H#include <QObject>#include <iostream>#include <QNetworkAccessManager>#include <QNetworkRequest
2021-10-13 16:43:03 1223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人