C++语法学习
- 什么是::
::是运算符中等级最高的,它分为三种:
- global scope(全局作用域符),用法(::name)
- class scope(类作用域符),用法(class::name)
- namespace scope(命名空间作用域符),用法(namespace::name)1
他们都是左关联(left-associativity)
他们的作用都是为了更明确的调用你想要的变量:
如在程序中的某一处你想调用全局变量a,那么就写成 ::a ;
如果想调用class A中的成员变量a,那么就写成 A::a;
如果想调用namespace std中的cout成员,你就写成std::cout(相当于using namespace
std;cout)意思是在这里我想用cout对象是命名空间std中的cout(即就是标准库里边的cout)
具体看:here
-
函数名前面加~
代表析构函数,1.看 here. -
结构体内嵌比较函数
struct node { //定义一个结构体node(节点)
int x;
int y;
int len; //node中有3个成员变量x,y,len
bool operator <(const node &a)const {//重载<操作符。可以对两个node使用<操作符进行比较
return len<a.len;
}
};
对两个node的len进行大小比较,返回较小的那个(个人理解)
here -
std::vector < keypoint >
有关于特征提取里面的容器,here -
默认构造函数
函数体=default
here -
opencv里的Rect类
rect对象用来存储一个矩形框的左上角坐标、宽度和高度。
描述矩形的宽度、高度和原点。
7.cv::cvtColor()——颜色空间转换
here
- cv::FAST角点检测