![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
qyu21490
这个作者很懒,什么都没留下…
展开
-
seetaface6教程:封装人脸识别,人脸检测,,眼睛检测,状态,特征.....
seetaface是中科视扩开发的一个项目,目前,seetaface2是开源的,可以自己下载编译,我没有具体用过,所以不是很清楚,今年3月底,seetaface6出来了,它并不开源,但是可以免费做商用,而且其中的功能还是不错的,而且它不依赖于其他任何库,但是它对于opencv还是挺支持的,这个项目的主要功能包括1,人脸检测2,关键点提取3,人脸识别4,眼睛状态5,/活体检测6,人脸追踪...原创 2020-04-14 19:55:59 · 11311 阅读 · 28 评论 -
vector
vector在尾部插入或删除较快vector vec;vectorvec2(100);//提前给它10个空间T可以是类对象也可以是基本数据类型通过数组的方式访问和改变数组for(int i=0;i<vec.size();i++){vec[i]=0;//必须提前给好空间}vec.push_back(10);//在容器最后插入10vec.pop_back();//删除文件尾部...原创 2019-11-07 19:36:45 · 82 阅读 · 0 评论 -
string;类
#include#includeusing namespace std;//string包含在命名空间std中int main(){//初始化stringstring str=“sasdass”;string str2(“ss”);string str3=str1;//遍历字符串for(int i=0;i<str.length;i++){ cout<<s...原创 2019-10-20 17:46:21 · 94 阅读 · 0 评论 -
JNI使用手册
JNI是java与c/c++交互的一种手段,在本文章的基本教程里,使用的是eclipse和vs2017来结合使用jni工程,中级阶段,将介绍jni的基本数据对应的C/c++以及java,高级阶段,将讲解jni自带的一些函数基础篇:中级篇:首先介绍下jni的数据类型基本数据类型:java类型 jni类型 c类型 size…Boolean Jblloean unsigned char...原创 2019-10-18 20:43:49 · 220 阅读 · 0 评论 -
抽象类和纯虚函数,虚析构和纯虚析构
C++的抽象类和纯虚函数类似于java中的接口和接口函数在C++的程序设计中,常常希望基类只作为其派生类的一个接口,仅相对基类进行向上类型转换,使用它的接口,而又不希望用户实际的创建一个基类的对象,同时创建一个纯虚函数允许接口放置成员原函数,而不一定要提供一段可能对这个接口毫无意义的代码做到哦这点,可以在基类中加入至少一个纯虚函数,使得基类变为抽象类1,纯虚函数使用关键字virtual,并在...原创 2019-10-04 09:35:05 · 191 阅读 · 0 评论 -
函数模板
模板是为了解决使用编程语言时因为参数类型不同,但实现过程相同的方法首先声明template或者template告诉编译器紧跟的代码里出现T不要报错;ps:T可以换成其他字符列如:声明函数void mySwap(T &a ,T &b)类型也需要传入,类型实参化调用调用函数myswap(a,b)自动类型推导,按照a,b的类型来替换T或者myswap(a,b)显示指定类型...原创 2019-10-05 19:30:48 · 177 阅读 · 0 评论 -
类型转换
C++的四种强制类型转换一:动态类型转换使用方法:static_cast<转换类型>(原始数据)特点:可以进行基础数据类型的转换可以进行父子类型的转换二:动态类型转换:使用方法:dynamic_cast<转换类型>(原始数据)特点:不可以进行基础数据类型转换父转子不可以,子转父可以,如果发生多态,都可以三:const_cast<目标类型...原创 2019-10-05 19:51:32 · 72 阅读 · 0 评论 -
异常
异常的处理通过try-throw-catch语句try{语句组throw 异常类型;}catch(异常类型)catch可以有多个,至少有一个,catch还有一个可以处理任何异常的类型try{throw 1;}catch(…){}如果没有任何catch解决抛出的异常,程序就会调用terminate方法中断程序异常可以再抛出,如果一个异常没有在本函数得到解决,那么它就会[抛...原创 2019-10-05 20:59:19 · 74 阅读 · 0 评论 -
迭代器
C++中每个容器都有自己的迭代器iterator列如:vectorv;vector::iterator it= v.begin()//指向第一个数据地址 v.end()//指向最后一个数据地址原创 2019-10-07 16:11:13 · 59 阅读 · 0 评论 -
多态
1多态分类静态多态 函数重载动态多态 虚函数 继承关系2 静态联编:地址早绑定,运行时绑定好地址3动态联编:地址晚绑定,运行时绑定好地址4多态父类的引用或指针指向子类对象多态原理解析当父类有了虚函数时,内部结构就会发生改变,内部会多了一个vfptr(virtual function potionter)虚函数指针,指向vfable的虚函数表.父类结构 vtpr &An...原创 2019-10-04 09:06:03 · 77 阅读 · 0 评论 -
继承
派生类继承方式class 派生类 : 继承方式 基类名{}继承只能继承基类的public 和protected三种继承方式public:公有继承:继承过来的属性和方法对应基类的类型protected:继承过来的属性和方法都变为protected类型private:继承过来的属性和方法都变为private类型...原创 2019-10-04 08:36:44 · 76 阅读 · 0 评论 -
函数的运算符重载
运算符重载就是给运算符赋予一个新的含义,可以在不同的情况下进行操作;class person{public :int a=1;int b=1;/*如果你想要通过用两个类相加而实现两个类中的a,b相加,那么有两种方法,第一种是用函数实现,第二种是用运算符重载实现*///方法1person add(person& p){person temp;temp.a=this-...原创 2019-10-03 08:43:08 · 252 阅读 · 0 评论 -
友元
友元:就像小甲鱼的教学视频所说,友元相当于一个单向的基友关系(你喜欢他,他不喜欢你,重点是你们两都是男的_);友元的常用方法一共有三种1:全局函数调用类中的私有方法class person{private:friend void excute();//申明这个方法是元元函数,此时全局对象可以调用这个函数}person::excute(){std::cout<<“he...原创 2019-10-02 21:31:30 · 104 阅读 · 0 评论 -
this指针以及类的内存问题
在每创建一个类对象时,系统会偷偷创建一个this指针,每次调用函数时,函数的参数都会隐式的加上this指针,指向它所在的数据;需要注意的是,属于类本身数据大小的只有非静态成员变量,静态和非静态函数以及静态对象都不属于这个类的数据源大小;而且,类存在数据的对齐的问题.举个例子,如下面代码class person{int a=11;double b=10;char c=1;}doub...原创 2019-10-02 21:31:48 · 448 阅读 · 0 评论 -
C++函数的构造与析构以及创建类对象
先看下面一段代码person{person(){//无参构造函数}person(int a){//有参构造函数}person(const person *p){//拷贝构造函数}~person{//析构函数}}构造函数,就是在函数被创建一个对象的时候会调用它构造方法,只会调用一次并且是其中一种的构造方法;1:调用无参构造在栈中创建:person per...原创 2019-10-02 21:32:03 · 138 阅读 · 0 评论 -
C++的基本数据类型
C++的基本数据类型一共有12种分别是类型类型 含义 最小尺寸(1字节=8位)bool 布尔类型 未定义char 字符 8位wchar_t 宽字符 16位char16_t Unicode字符 16位char32_t Unicode字符 32位short 短整型 16位int 整型 16位long 长整型 32位 ...原创 2019-10-02 21:32:16 · 1035 阅读 · 0 评论 -
C++的默认参数问题
比如说下面的函数int fun(int a=1,int b=2,int c=3){}此时调用它只需要写fun();它传入的默认参数就是1,2,3;fun(1),或者fun(1,2),此时a=1,b=2,而c仍然是3需要注意的是默认实参必须在函数参数列表的最右边;如下面函数int fun(int a=1,int b ,int c=1){}此时调用它就必须要指定前两1个,或者三个都指...原创 2019-10-02 21:32:23 · 116 阅读 · 0 评论 -
Const用法
const有多种用法1修饰普通变量,全局变量,静态变量此时实现只读不写2:修饰指针char chBuffer[] = “test”;const char pName = chBuffer;指针指向的内容不能修改,但指针本身是可以修改的3:修饰函数参数void Test(const int iAge)//函数体中,确保iAge不被修改。void Test(const char pN...原创 2019-10-02 21:32:38 · 90 阅读 · 0 评论 -
C++文件调用C文件的方法
c文件:int <stdio.h>void de(){printf(“hello world”);}如果想要在c++文件中调用这个方法,那么就必须在文件中声明extern “c” void show();这样子才可以调用...原创 2019-10-02 21:32:50 · 1633 阅读 · 0 评论 -
引用
基本数据类型的引用int a=10;int &b=a;相当于int *const b=&a;必须初始化不能被修改数组的引用int arr[10]={1};int (&parr)[10]=arr;常量的引用const int &b=10;原理:只要jailconst就会分配内存...原创 2019-10-02 21:33:06 · 96 阅读 · 0 评论 -
如何使用命名空间
namesapce aa{int a= 10;}using aa;//此时可输出a//或者aa::a;原创 2019-10-02 21:33:15 · 549 阅读 · 1 评论