摘要:
枚举类型可以简化代码并且避免一些不必要的错误 #include<iostream> int A=0; int B=1; int C=2; int main() { int value=B; if(value==B) { //Do something } std::cin.get(); } ABC都是 阅读全文
摘要:
static根据上下文语意有两种含义,一种是在类和结构体内,另一种时类在结构体外。 类外的static在链接阶段是局部的,它只对它的编译单元(.obj)可见,而类内的static表示这个变量将在类内与所有实例共享 Static.cpp static int s_Variable=5; main.cp 阅读全文
摘要:
类是一个数据与函数的集合体。以游戏为例,如果我们用变量来描述游戏中人物的信息,我们需要描述他的坐标x,y表示他在屏幕中的位置,还有他移动的速度,如果我们要引入第二个玩家,那么就需要同样含义的变量来进行描述,同时名字还要与第一个任务的这些变量不同。引入类会使得工作更加简单。 #include<iost 阅读全文
摘要:
引用是指针的延申,本质相同但是引用的写法和可阅读性更强。 引用是引用一个已经存在的变量,而指针可以新建一个不存在的新指针 #include<iostream> #define Log(x) std::cout<<x<<std::endl int main() { int a=5; int *b=&a 阅读全文
摘要:
指针本质就是一个地址,告诉我们变量存储在内存的什么位置,程序做的每一件事都要读取或者写入内存。指针只是一个地址,它是一个整数,存储着一个内存地址。 空指针,给指针赋予一个为0的地址,0实际上不是一个有效的内存地址,这就意味着这个指针时无效的,但对于指针来说,内存地址无效是一个可以接受的状态。 访问变 阅读全文
摘要:
调试的主要两部分:设置断点和查看内存 断点指程序运行到此处会中断,此时可以查看内存,了解程序运行的如何,变量如何定义,函数如何调用。断点可以在任意一行设置。 F10跳到下一行,F11跳入这一行调用的函数,shift+F11跳出 程序可以通过设置断点来逐行运行 如何查看内存 阅读全文
摘要:
头文件很有用,很多函数都需要一个位置来共用声明(不是定义,定义只能定义一次)。 工程中有两个cpp文件 main.cpp #include<iostream> void Log(const char* message) { std::cout<<message<<std::endl; } int m 阅读全文
摘要:
链接的作用是找到每个符号和函数的位置,并且将它们连接在一起。每个obj文件之间是没有联系的,这些文件实际上没法相互沟通,所以需要将他们连接到一个程序中来。即使程序只有一个cpp文件,程序入口主函数和一些其他的东西仍需要被链接。 Math.cpp #include<iostream> void Log 阅读全文
摘要:
c++文档从代码到生成程序经过编译和链接两个阶段 其中编译是将文本文件转化为.obj文件 编译过程经过 1.预处理 2.标记解释 3.解析 main.cpp #include<iostream> void Log(const char* message); int main() { Log("Hel 阅读全文
摘要:
图像的边界信息一般通过灰度值突变来体现,所以图像边缘提取一般通过捕捉灰度突变的方法来实现,捕捉灰度突变可以通过求微分来实现 导数越大说明变化越大,边缘信号越强 1.Sobel算子 也叫离散微分算子,一阶微分算子,求导算子,先做高斯平滑在做微分求导 可以在各个方向上求图像的梯度 如水平方向 Gx=[- 阅读全文