- 博客(20)
- 资源 (11)
- 收藏
- 关注
原创 两数的最大公约数和最小公倍数
两数的最大公约数和最小公倍数一、最大公约数1、补充概念明确两数最大公约数之前,先补充几个概念:(1)两数互质的概念:两数互质即表示数除1之外没有任何公约数,1与其他任何数互质(2)最大公约数表示方法a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c)(3)什么是最大公约数12、16的公约数有1、2、4,显然(12,16)=4,可以发现 12/4 和16/4 两数互质,因此归纳并证明如下结论:(a,b)=m,则有a/m与b/m互质,即a,b最大公约数是m,一
2021-12-23 14:30:21
609
原创 顶堆priority_queue使用(数据中出现次数最多的前k个元素)
顶堆priority_queue使用(数据中出现次数最多的前k个元素)1、priority_queue用法转自:https://www.cnblogs.com/yalphait/articles/8889221.html2、举例(数据中出现次数最多的前k个元素)https://leetcode-cn.com/problems/top-k-frequent-elements//** 模板申明带3个参数:priority_queue<Type, Container, Func
2021-08-29 11:43:14
326
原创 memeset()
void *memset(void *str, int c, size_t n);复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。memeset 用来对一段内存空间全部设置为某个字符 一个字节一个字节赋值void test06(){ //memeset 用来对一段内存空间全部设置为某个字符 一个字节一个字节赋值 int num = 23; memset(&
2021-08-24 00:26:30
1266
原创 void*无类型指针和assert()
void*无类型指针和assert()1、assert函数 – 是一种宏定义 头文件:#include <assert.h> 使用: assert(flag);flag为假抛异常,可封装入函数用于检查用户的调用2、void* 使用 – 无类型指针,即未确定类型的指针,但是有指向,只是对于指向内容按照什么类型划分不知道 使用:1、可接受(指向)任何类型的指针 2.其他指针指向它时需要强制类型转换 eg1: int num=3; int *pNum=
2021-08-23 23:20:36
407
原创 #深拷贝和浅拷贝
对于普通成员变量进行浅拷贝,拷贝成员变量本身的值对于指针或者引用的成员变量,不仅要拷贝指针的值(指向或者地址),还要拷贝指针或者引用指向的内容即浅拷贝只需考虑栈区中的变量,深拷贝还需拷贝堆区中指向的内存单元对于赋值运算符,重载即可...
2021-08-19 16:18:14
99
原创 运算符重载(前置++、后置++和operator<<(即cout<<) )
具体见代码#include <iostream>#include <stdlib.h>using namespace std;class MyInteger { friend ostream& operator<<(ostream& cout, MyInteger num1);public: MyInteger() { m_Num = 0; } //递增运算符重载 MyInteger& operator++() //
2021-08-18 18:13:43
534
6
原创 二维数组问题
具体见代码void review1() { //二维数组 int arr[][3] = { {1,1,1} , {1,2,3} }; cout << "当前数组 :" << endl; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { cout << arr[i][j]<<" "; } cout <<
2021-08-18 00:02:16
96
原创 多态原理(虚函数指针、虚函数表、空类大小)
多态原理1、多态发生条件a.子类继承父类,并且子类重写父类中虚函数b.使用时,父类指针或者引用指向子类对象此时父类指针调用相关函数发生动态多态注意:(1) 子类中的重写虚函数也可以是虚函数(virtual)(2) 静态多态在编译时绑定,动态多态在运行时绑定2、多态实现原理首先,多态实现过程中,父类包含虚函数,创建父类对象是会生成一个虚函数表指针,指向父类的虚函数表;子类继承父类,因此创建子类对象时子类对象也会生成虚函数表指针指向子类的虚函数表;类的虚函数表类似类的static成员变量,
2021-08-17 17:30:54
370
原创 类大小相关
空类的大小为1字节(见补充1)一个类中,虚函数本身、成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空间。(见补充2)对于包含虚函数的类,不管有多少个虚函数,只有一个虚指针,vptr的大小。(见补充3)普通继承,派生类继承了所有基类的函数与成员,要按照字节对齐来计算大小 (见补充4、5)虚函数继承,不管是单继承还是多继承,都是继承了基类的vptr。(32位操作系统4字节,64位操作系统 8字节)!虚继承,继承基类的vptr。补充1:在C++语言中的确规定了空结构体和空类所占.
2021-08-17 16:42:51
96
原创 虚基类和抽象类二者没有联系
虚基类和抽象类二者没有联系虚继承的目的是让某个类做出声明,承诺愿意共享它的基类。其中,这个被共享的基类就称为虚基类(Virtual Base Class)抽象类是一种特殊的类,带有纯虚函数的类为抽象类。注意:a、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。如果派生类中没有重新定义纯虚函数,而只是继承基类的纯虚函数,则这个派生类仍然还是一个抽象类。如果派生类中给出了基类纯虚函数的实现,则该派生类就不再是抽象类了,它是一个可以建立对象的具体的类。b、抽象类是不能定义对象的。**补充:纯虚
2021-08-15 00:16:31
437
原创 如何保证默认拷贝函数不能被用户调
如何保证默认拷贝函数不能被用户调用比如:如果自定义了一个类,而又不想该类的复制构造函数可被用户调用,此时可以将拷贝构造声明为private,这样用户调用时会被阻止
2021-08-12 22:31:36
88
原创 构造函数的初始化列表
构造函数的初始化列表EffectiveC++ p28目的:我们想尽量保证对象被使用前先初始化想保证成员对象使用前初始化,需要使用初始化列表,因为在进入构造函数之前成员变量已经完成了初始化,构造函数中实际进行的是赋值操作而不是初始化,所以想先初始化就必须在构造函数之外,即使用初始化列表...
2021-08-12 16:00:14
797
原创 csv文件_训练图片标签_(个人学习记录)
csv文件_训练图片标签_记录1、csvopencv教程里面为我们提供了自动生成csv文件的脚本(create_csv.py).打开后是我们修改一下代码,BASE_PATH手动的改成自己的数据集路径,改完后代码如下:#!/usr/bin/env pythonimport sysimport os.path# This is a tiny script to help you creating a CSV file from a face# database with a similar
2021-03-20 16:45:10
520
1
原创 C/C++笔记
C/C++笔记***1、指向指针的指针(即2级指针)用处:***如果在一个函数内部需要修改指针所指向的数据内容,那就使用指针,如果你要修改指针的指向,那就使用指向指针的指针。**通俗来说,**如果我们需要函数的参数是一个地址,而且函数需要修改这个地址,那么我们就要传递2级指针。...
2020-12-02 17:06:18
138
原创 冈萨雷斯toolbox
冈萨雷斯(bound2im、frdescp、boundaries)%bound2im源程序function B=bound2im(b,M,N,x0,y0)% BOUND2IM Converts a boundary to an image.% B = bound2im(b) converts b, an np-by-2 or 2-by-np array% representing the integer coordinates of a boundary, into a binary%
2020-10-09 16:22:01
211
原创 VS+QT打包
VS+QT打包1、在debug或者release文件夹下找到需要打包的exe文件,放入新建文件夹中;2、这里是Qt 5.9.1 32-bit for Desktop(MSVC 2015),在其路径下打开,然后命令“ cd /d exe文件的路径“转到exe文件所在文件夹,输入“windeployqt exe文件名”;3、然后在将其他setting.ini以及图标资源复制到该文件夹,再到其他笔记本测试,用everything搜索添加缺少的的dll...
2020-08-05 01:36:02
1759
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人